Harun01 commited on
Commit
1d863ee
·
verified ·
1 Parent(s): f59b0ba

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +31 -31
src/streamlit_app.py CHANGED
@@ -3,47 +3,47 @@ from tensorflow.keras.models import load_model
3
  from PIL import Image
4
  import streamlit as st
5
 
6
- # Modeli yükle
7
  model = load_model('src/dates_classifier_model.h5')
8
 
9
- # Görsel işleme fonksiyonu
10
  def process_image(img):
11
- img = img.resize((224, 224)) # Modelin beklediği boyut
12
- img = np.array(img) / 255.0 # Normalizasyon
13
  img = np.expand_dims(img, axis=0)
14
  return img
15
 
16
- # Arayüz başlığı
17
  st.title('Hurma Resmi Sınıflandırma')
18
  st.write('Bir hurma resmi yükleyin, hangi tür olduğunu tahmin edelim.')
19
 
20
- # Görsel yükleme alanı
 
 
 
21
  file = st.file_uploader('Bir Resim Seçin', type=['jpg', 'jpeg', 'png'])
22
 
23
  if file is not None:
24
  try:
25
- img = Image.open(file).convert('RGB') # Bazı görseller RGBA olabilir
26
- st.image(img, caption='Yüklenen Resim', use_column_width=True)
27
-
28
- # Tahmin işlemi
29
- processed_image = process_image(img)
30
- prediction = model.predict(processed_image)
31
- predicted_class = np.argmax(prediction)
32
-
33
- # Sınıf etiketleri
34
- class_names = [
35
- 'Rutab',
36
- 'Meneifi',
37
- 'Sokari',
38
- 'Galaxy',
39
- 'Shaishe',
40
- 'Medjool',
41
- 'Ajwa',
42
- 'Nabtat Ali',
43
- 'Sugaey'
44
- ]
45
-
46
- st.write(f'Tahmin Edilen Sınıf: **{class_names[predicted_class]}**')
47
-
48
- except Exception as e:
49
- st.error(f"Bir hata oluştu: {e}")
 
3
  from PIL import Image
4
  import streamlit as st
5
 
 
6
  model = load_model('src/dates_classifier_model.h5')
7
 
 
8
  def process_image(img):
9
+ img = img.resize((224, 224))
10
+ img = np.array(img) / 255.0
11
  img = np.expand_dims(img, axis=0)
12
  return img
13
 
 
14
  st.title('Hurma Resmi Sınıflandırma')
15
  st.write('Bir hurma resmi yükleyin, hangi tür olduğunu tahmin edelim.')
16
 
17
+ # Session state'te resim tutma
18
+ if 'image' not in st.session_state:
19
+ st.session_state.image = None
20
+
21
  file = st.file_uploader('Bir Resim Seçin', type=['jpg', 'jpeg', 'png'])
22
 
23
  if file is not None:
24
  try:
25
+ img = Image.open(file).convert('RGB')
26
+ st.session_state.image = img
27
+ except:
28
+ st.error("Görsel açılamadı.")
29
+
30
+ if st.session_state.image is not None:
31
+ st.image(st.session_state.image, caption='Yüklenen Resim', use_column_width=True)
32
+
33
+ processed = process_image(st.session_state.image)
34
+ prediction = model.predict(processed)
35
+ predicted_class = np.argmax(prediction)
36
+
37
+ class_names = [
38
+ 'Rutab',
39
+ 'Meneifi',
40
+ 'Sokari',
41
+ 'Galaxy',
42
+ 'Shaishe',
43
+ 'Medjool',
44
+ 'Ajwa',
45
+ 'Nabtat Ali',
46
+ 'Sugaey'
47
+ ]
48
+
49
+ st.success(f'Tahmin: **{class_names[predicted_class]}**')