Image_Classify / app.py
scholar-2001's picture
Added all dependencies
335afa3
raw
history blame
1.48 kB
from tensorflow.keras.models import load_model
import streamlit as st
import cv2
import numpy as np
from PIL import Image
# Load the ensemble model using tf.keras.models.load_model()
loaded_ensemble_model = load_model('ensemble_model.h5')
st.markdown('<h1 style="color:red;">Ensemble Image classification model for Alzheimer</h1>', unsafe_allow_html=True)
st.markdown('<h2 style="color:gray;">The image classification model classifies brain scan image into following categories:</h2>', unsafe_allow_html=True)
st.markdown('<h3 style="color:gray;"> Moderate,Mild,Very Mild, NonDemented</h3>', unsafe_allow_html=True)
upload= st.file_uploader('Insert image for classification', type=['png','jpg'])
c1, c2= st.columns(2)
if upload is not None:
im= Image.open(upload)
im = im.convert('RGB')
img= np.asarray(im)
image= cv2.resize(img,(150, 150))
img_array = image.reshape(1,150,150,3)
c1.header('Input Image')
c1.image(im)
loaded_ensemble_model = load_model('ensemble_model.h5')
pred = loaded_ensemble_model.predict([img_array, img_array])
labels = {0:'MildDemented',1:'ModerateDemented',2:'NonDemented',3:'VeryMildDemented'}
output_array = pred
normalized_array = output_array / np.sum(output_array)
percentage_array = normalized_array * 100
c2.header('Output')
c2.subheader('Predicted class :')
c2.write(labels[pred.argmax()])
c2.subheader('With :')
c2.write(f'{int(np.max(percentage_array))}% assurity')