Nova23 / app.py
Akshay-Vs's picture
Update app.py
eb522d1
raw
history blame
1.3 kB
import streamlit as st
from PIL import Image
import tensorflow as tf
from tensorflow.keras.preprocessing.image import img_to_array
import numpy as np
import cv2
path_to_model = "nova.h5"
model = tf.keras.models.load_model(path_to_model)
#default height and width of the uploaded image
IMG_HEIGHT = 180
IMG_WIDTH = 180
# Preprocessing
def preprocess_image(image):
img = cv2.resize(image, (IMG_HEIGHT, IMG_WIDTH))
img_array = img_to_array(img)
img_array = img_array / 255.0
img_array = np.reshape(img_array, (1, IMG_HEIGHT, IMG_WIDTH, 3))
return img_array
# Create the Streamlit app
def main():
st.title("Nova'23 Classification model")
uploaded_image = st.file_uploader('Upload an image', type=['jpg', 'jpeg', 'png'])
# Display the image
if uploaded_image is not None:
image = Image.open(uploaded_image)
st.image(image, caption='Uploaded Image', use_column_width=True)
input_image = preprocess_image(image) #preprocessing
prediction = model.predict(input_image) #predicting
# Display the prediction
if prediction[0][0] > prediction[0][1]:
st.write('Prediction: Normal')
else:
st.write('Prediction: Pneumonia')
if __name__ == '__main__':
main()