Spaces:
Sleeping
Sleeping
File size: 2,092 Bytes
d7765a7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 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.") |