DjPapzin's picture
Add falcondemo.mp4 and .keras model to Git LFS
c77acf1
import streamlit as st
from PIL import Image
import tensorflow as tf
import cv2
import numpy as np
# Load the model
try:
model = tf.keras.models.load_model('FINAL_MODEL.keras')
except FileNotFoundError:
st.error("Disease classification model not found. Please ensure 'FINAL_MODEL.keras' is in the same directory as this app.")
model = None
# Title of the app
st.title("DISEASE DETECTION n CLASSIFICATION")
# Upload an image file
uploaded_image = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
if uploaded_image is not None and model is not None:
img_opened = Image.open(uploaded_image).convert('RGB')
#image_opened = Image.open(uploaded_image)
image_pred = np.array(img_opened)
image_pred = cv2.resize(image_pred, (150, 150))
# Convert the image to a numpy array
image_pred = np.array(image_pred)
# Rescale the image (if the model was trained with rescaling)
image_pred = image_pred / 255.0
# Add an extra dimension to match the input shape (1, 150, 150, 3)
image_pred = np.expand_dims(image_pred, axis=0)
# Print the shape of the preprocessed image
print("Shape of the preprocessed image:", image_pred.shape)
# Predict using the model
prediction = model.predict(image_pred)
# Example prediction output
prediction = np.array(prediction)
#print(f"Prediction_Classes for different types\ncovid: 0\nnormal_chestray: 1\npneumonia: 2")
# Get the predicted class
predicted_ = np.argmax(prediction)
# Display the image
print(f"Predicted array for : {predicted_}")
# Decode the prediction
if predicted_ == 0:
predicted_class= "Covid"
elif predicted_ == 1:
predicted_class= "Normal_chestray"
else:
predicted_class= "Pneumonia"
# Print the predicted class
print(f'The predicted class is: {predicted_class}')
#print(prediction)
st.image(image_pred, caption='Input image by user', use_column_width=True)
st.write("CLasses description for understanding")
st.write("Prediction Classes for different types:")
st.write("COVID: 0")
st.write("Normal Chest X-ray: 1")
st.write("Pneumonia: 2")
st.write("\n")
# Display some text
st.write("DETECTED DISEASE DISPLAY")
st.write(f"Predicted Class : {predicted_}")
st.write(predicted_class)
else:
st.write("Please upload an image file or ensure the disease model is loaded.")