smyr-dc/grape-data
0
1import streamlit as st
2from tensorflow.keras.models import load_model
3from PIL import Image
4import numpy as np
5
6model = load_model('my_model2.keras')
7def process_image(img):
8 img = img.convert('RGB') # Görüntüyü RGB formatına dönüştür
9 img = img.resize((170, 170))
10 img_array = np.array(img)
11 img_normalized = img_array / 255.0
12 img_normalized = np.expand_dims(img_normalized, axis=0)
13 return img_normalized
14
15st.title("üzüm yapraği siniflandirma")
16st.write("Resim seç ve model yapraklarin hastaliğini tahmin etsin")
17
18file = st.file_uploader('Bir Resim Seç', type=['jpg', 'jpeg', 'png'])
19
20if file is not None:
21 img = Image.open(file)
22 st.image(img, caption='Yüklenen Resim')
23 image = process_image(img)
24 prediction = model.predict(image)
25
26 # Tahmin edilen olasılıkları yazdır
27 st.write(f"Tahmin edilen olasılıklar: {prediction[0][0]}")
28
29 # Tahmini sınıf etiketine dönüştür
30 predicted_class = np.argmax(prediction[0]) # En yüksek olasılığa sahip sınıfı seç
31
32 class_names = ['ESCA', 'Healthy', 'Leaf Blight', 'Black Rot']
33 st.write("Sonuç:", class_names[predicted_class])
34
35 # Özel mesajlar
36 if class_names[predicted_class] == 'ESCA':
37 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.")
38 elif class_names[predicted_class] == 'Leaf Blight':
39 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.")
40 elif class_names[predicted_class] == 'Black Rot':
41 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.")