Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -63,7 +63,6 @@ def perform_detection(image, interpreter, labels):
|
|
63 |
classes = interpreter.get_tensor(output_details[classes_idx]['index'])[0]
|
64 |
scores = interpreter.get_tensor(output_details[scores_idx]['index'])[0]
|
65 |
|
66 |
-
detections = []
|
67 |
for i in range(len(scores)):
|
68 |
if ((scores[i] > 0.5) and (scores[i] <= 1.0)):
|
69 |
ymin = int(max(1, (boxes[i][0] * imH)))
|
@@ -79,7 +78,6 @@ def perform_detection(image, interpreter, labels):
|
|
79 |
cv2.rectangle(image, (xmin, label_ymin - labelSize[1] - 10), (xmin + labelSize[0], label_ymin + baseLine - 10), (255, 255, 255), cv2.FILLED)
|
80 |
cv2.putText(image, label, (xmin, label_ymin - 7), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 2)
|
81 |
|
82 |
-
detections.append([object_name, scores[i], xmin, ymin, xmax, ymax])
|
83 |
return image
|
84 |
|
85 |
def resize_image(image, size=640):
|
@@ -93,7 +91,7 @@ def detect_image(input_image):
|
|
93 |
return Image.fromarray(result_image_resized)
|
94 |
|
95 |
def detect_video(input_video):
|
96 |
-
cap = cv2.VideoCapture(input_video)
|
97 |
frames = []
|
98 |
|
99 |
while cap.isOpened():
|
@@ -101,10 +99,8 @@ def detect_video(input_video):
|
|
101 |
if not ret:
|
102 |
break
|
103 |
|
104 |
-
|
105 |
-
result_frame
|
106 |
-
result_frame_resized = resize_image(result_frame)
|
107 |
-
frames.append(result_frame_resized)
|
108 |
|
109 |
cap.release()
|
110 |
|
@@ -113,7 +109,7 @@ def detect_video(input_video):
|
|
113 |
|
114 |
height, width, layers = frames[0].shape
|
115 |
size = (width, height)
|
116 |
-
output_video_path = "result_" + os.path.basename(input_video)
|
117 |
out = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*'mp4v'), 15, size)
|
118 |
|
119 |
for frame in frames:
|
|
|
63 |
classes = interpreter.get_tensor(output_details[classes_idx]['index'])[0]
|
64 |
scores = interpreter.get_tensor(output_details[scores_idx]['index'])[0]
|
65 |
|
|
|
66 |
for i in range(len(scores)):
|
67 |
if ((scores[i] > 0.5) and (scores[i] <= 1.0)):
|
68 |
ymin = int(max(1, (boxes[i][0] * imH)))
|
|
|
78 |
cv2.rectangle(image, (xmin, label_ymin - labelSize[1] - 10), (xmin + labelSize[0], label_ymin + baseLine - 10), (255, 255, 255), cv2.FILLED)
|
79 |
cv2.putText(image, label, (xmin, label_ymin - 7), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 2)
|
80 |
|
|
|
81 |
return image
|
82 |
|
83 |
def resize_image(image, size=640):
|
|
|
91 |
return Image.fromarray(result_image_resized)
|
92 |
|
93 |
def detect_video(input_video):
|
94 |
+
cap = cv2.VideoCapture(input_video.name)
|
95 |
frames = []
|
96 |
|
97 |
while cap.isOpened():
|
|
|
99 |
if not ret:
|
100 |
break
|
101 |
|
102 |
+
result_frame = perform_detection(frame, interpreter, labels)
|
103 |
+
frames.append(result_frame)
|
|
|
|
|
104 |
|
105 |
cap.release()
|
106 |
|
|
|
109 |
|
110 |
height, width, layers = frames[0].shape
|
111 |
size = (width, height)
|
112 |
+
output_video_path = "result_" + os.path.basename(input_video.name)
|
113 |
out = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*'mp4v'), 15, size)
|
114 |
|
115 |
for frame in frames:
|