abakirci's picture
Upload 4 files
03be6a6 verified
raw
history blame
1.27 kB
import streamlit as st
from tensorflow.keras.models import load_model
from PIL import Image
import numpy as np
model = load_model("model_grapevine_disease_detection.h5")
def process_image(img):
img = img.convert("RGB")
img = img.resize((50,50))
img = np.array(img)
if img.ndim == 2:
img = np.stack((img,)*3, axis=-1)
img = img/255.0
img = np.expand_dims(img, axis=0)
return img
st.title("GRAPEVINE DISEASE CLASSIFICATION")
st.divider()
col1, col2, col3 = st.columns([1,2,1])
with col2:
st.image("grapevine_disease.jpeg")
st.divider()
st.success("Upload your grapevine image and classify the images with the following labels: Black Rot, ESCA, Healthy, and Leaf Blight with CNN deep learning.")
st.divider()
st.write("Upload your image and see the results")
st.divider()
file = st.file_uploader("Choose an image", type=["jpg", "jpeg", "png", "webp"])
if file is not None:
img = Image.open(file)
st.image(img, caption="Downloaded image")
image = process_image(img)
prediction = model.predict(image)
predicted_class = np.argmax(prediction)
class_names = {0:"Black Rot", 1:"ESCA", 2:"Healthy", 3:"Leaf Blight"}
st.write(f"Predicted Grapevine Disease: {class_names[predicted_class]}")