cotton / app.py
MuhammmadRizwanRizwan's picture
Upload 4 files
ec2e19f verified
raw
history blame
1.41 kB
import streamlit as st
from PIL import Image
import numpy as np
import tensorflow as tf
# Correct model path
MODEL_PATH = 'model_resnet152V2.h5'
model = tf.keras.models.load_model(MODEL_PATH)
# Function to preprocess the image
def preprocess_image(image):
image = image.resize((224, 224)) # Assuming model expects 224x224 input
image = np.array(image) / 255.0 # Normalize to [0, 1]
image = np.expand_dims(image, axis=0) # Add batch dimension
return image
# Function to make a prediction
def predict(image):
preprocessed_image = preprocess_image(image)
preds = model.predict(preprocessed_image)
preds = np.argmax(preds, axis=1)
if preds == 0:
preds = "The leaf is diseased cotton leaf"
elif preds == 1:
preds = "The leaf is diseased cotton plant"
elif preds == 2:
preds = "The leaf is fresh cotton leaf"
else:
preds = "The leaf is fresh cotton plant"
return preds
# Streamlit app
st.title("Cotton Disease Prediction")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption='Uploaded Image.', use_column_width=True)
st.write("")
st.write("Classifying...")
prediction = predict(image)
st.write(f"Prediction: {prediction}")