import streamlit as st from tensorflow.keras.models import load_model from PIL import Image import numpy as np model = load_model('my_model2.keras') def process_image(img): img = img.convert('RGB') # Görüntüyü RGB formatına dönüştür img = img.resize((170, 170)) img_array = np.array(img) img_normalized = img_array / 255.0 img_normalized = np.expand_dims(img_normalized, axis=0) return img_normalized st.title("üzüm yapraği siniflandirma") st.write("Resim seç ve model yapraklarin hastaliğini tahmin etsin") file = st.file_uploader('Bir Resim Seç', type=['jpg', 'jpeg', 'png']) if file is not None: img = Image.open(file) st.image(img, caption='Yüklenen Resim') image = process_image(img) prediction = model.predict(image) # Tahmin edilen olasılıkları yazdır st.write(f"Tahmin edilen olasılıklar: {prediction[0][0]}") # Tahmini sınıf etiketine dönüştür predicted_class = np.argmax(prediction[0]) # En yüksek olasılığa sahip sınıfı seç class_names = ['ESCA', 'Healthy', 'Leaf Blight', 'Black Rot'] st.write("Sonuç:", class_names[predicted_class]) # Özel mesajlar if class_names[predicted_class] == 'ESCA': st.write("Öneri: Bu hastalık, üzüm yapraklarında sararma ve kuruma ile kendini gösterir. Etkili bir mücadele için hasta yaprakları ve sürgünleri kesin. İyi hava akışını sağlamak için bağ alanınızı düzenli tutun.") elif class_names[predicted_class] == 'Leaf Blight': st.write("Öneri: Yapraklarda lekeler ve kuruma görülebilir. Hastalığın yayılmasını önlemek için etkilenen yaprakları kesin. İyi bir hava sirkülasyonu sağlamak için bitkilerinizi seyrek dikin ve düzenli olarak sulayın.") elif class_names[predicted_class] == 'Black Rot': st.write("Öneri: Siyah çürük, üzüm salkımlarında çürümeye neden olur. Hastalıklı yaprakları ve meyveleri kesin, toprak ve bitki hijyenine dikkat edin. Koruyucu fungisitler uygulamak da etkili olabilir.")