Ashegh-Sad-Warrior commited on
Commit
088e04b
1 Parent(s): d507b48

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -19
app.py CHANGED
@@ -32,27 +32,38 @@ def detect_and_draw_image(input_image):
32
  # تبدیل تصویر PIL به آرایه NumPy
33
  input_image_np = np.array(input_image)
34
 
35
- # اجرای مدل روی تصویر
36
- results = model.predict(source=input_image_np, conf=0.25)
37
 
38
- # دریافت تصویر با نتایج رسم‌شده
39
- annotated_image = results[0].plot()
40
-
41
- # تبدیل تصویر به فرمت PIL برای نمایش در Gradio
42
- annotated_image_pil = Image.fromarray(annotated_image)
43
-
44
- # شمارش اشیاء شناسایی‌شده
45
- counts = {}
46
- for box in results[0].boxes:
47
- class_id = int(box.cls[0])
48
- label_en, label_fa = class_names.get(class_id, ('unknown', 'ناشناخته'))
49
- counts[label_en] = counts.get(label_en, 0) + 1
 
 
50
 
51
- df = pd.DataFrame({
52
- 'Label (English)': list(counts.keys()),
53
- 'Label (Persian)': [class_names.get(k, ('unknown', 'ناشناخته'))[1] for k in counts.keys()],
54
- 'Object Count': list(counts.values())
55
- })
 
 
 
 
 
 
 
 
 
56
 
57
  return annotated_image_pil, df
58
 
 
32
  # تبدیل تصویر PIL به آرایه NumPy
33
  input_image_np = np.array(input_image)
34
 
35
+ # اجرای مدل روی تصویر با تنظیمات اطمینان و iou پایین‌تر
36
+ results = model.predict(source=input_image_np, conf=0.1, iou=0.4)
37
 
38
+ # بررسی وجود اشیاء شناسایی شده
39
+ if results and results[0].boxes is not None:
40
+ # دریافت تصویر با نتایج رسم‌شده
41
+ annotated_image = results[0].plot()
42
+
43
+ # تبدیل تصویر به فرمت PIL برای نمایش در Gradio
44
+ annotated_image_pil = Image.fromarray(annotated_image)
45
+
46
+ # شمارش اشیاء شناسایی‌شده
47
+ counts = {}
48
+ for box in results[0].boxes:
49
+ class_id = int(box.cls[0])
50
+ label_en, label_fa = class_names.get(class_id, ('unknown', 'ناشناخته'))
51
+ counts[label_en] = counts.get(label_en, 0) + 1
52
 
53
+ # ساخت DataFrame با نام‌ها و تعداد اشیاء
54
+ df = pd.DataFrame({
55
+ 'Label (English)': list(counts.keys()),
56
+ 'Label (Persian)': [class_names.get(k, ('unknown', 'ناشناخته'))[1] for k in counts.keys()],
57
+ 'Object Count': list(counts.values())
58
+ })
59
+ else:
60
+ # اگر هیچ شیء شناسایی نشده باشد، بازگرداندن تصویر اصلی و DataFrame خالی
61
+ annotated_image_pil = input_image
62
+ df = pd.DataFrame({
63
+ 'Label (English)': [],
64
+ 'Label (Persian)': [],
65
+ 'Object Count': []
66
+ })
67
 
68
  return annotated_image_pil, df
69