Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -35,10 +35,14 @@ def detect_faults(frame, results, frame_idx, fps):
|
|
| 35 |
if roi.size == 0:
|
| 36 |
continue
|
| 37 |
mean_intensity = np.mean(roi)
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
elif mean_intensity < 100:
|
| 43 |
label = "Dust Fault"
|
| 44 |
color = (0, 255, 0)
|
|
@@ -50,6 +54,10 @@ def detect_faults(frame, results, frame_idx, fps):
|
|
| 50 |
"Frame": frame_idx,
|
| 51 |
"Time (s)": timestamp,
|
| 52 |
"Fault Type": label,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
"X1": x1, "Y1": y1, "X2": x2, "Y2": y2
|
| 54 |
})
|
| 55 |
|
|
|
|
| 35 |
if roi.size == 0:
|
| 36 |
continue
|
| 37 |
mean_intensity = np.mean(roi)
|
| 38 |
+
|
| 39 |
+
area = (x2 - x1) * (y2 - y1)
|
| 40 |
+
if mean_intensity > 240:
|
| 41 |
+
label = "Burned Solar Panel" if area >= 10000 else "Burned Solar Cell"
|
| 42 |
+
color = (0, 0, 255)
|
| 43 |
+
elif mean_intensity > 200:
|
| 44 |
+
label = "Overheat"
|
| 45 |
+
color = (255, 165, 0)
|
| 46 |
elif mean_intensity < 100:
|
| 47 |
label = "Dust Fault"
|
| 48 |
color = (0, 255, 0)
|
|
|
|
| 54 |
"Frame": frame_idx,
|
| 55 |
"Time (s)": timestamp,
|
| 56 |
"Fault Type": label,
|
| 57 |
+
"Confidence": round(float(box.conf[0]), 2) if box.conf is not None else None,
|
| 58 |
+
"Intensity": round(mean_intensity, 2),
|
| 59 |
+
"Box": f"({x1}, {y1}, {x2}, {y2})"
|
| 60 |
+
"Fault Type": label,
|
| 61 |
"X1": x1, "Y1": y1, "X2": x2, "Y2": y2
|
| 62 |
})
|
| 63 |
|