Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -34,7 +34,26 @@ def detect_video(model_choice, input_video=None, sample_video_choice=None):
|
|
34 |
model = load_model(models[model_choice])
|
35 |
if sample_video_choice:
|
36 |
input_video = sample_videos[sample_video_choice]
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
app = gr.Blocks()
|
40 |
|
|
|
34 |
model = load_model(models[model_choice])
|
35 |
if sample_video_choice:
|
36 |
input_video = sample_videos[sample_video_choice]
|
37 |
+
|
38 |
+
# Resize the video to 640x640 for faster processing
|
39 |
+
cap = cv2.VideoCapture(input_video)
|
40 |
+
output_path = "output_video.mp4"
|
41 |
+
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
|
42 |
+
out = cv2.VideoWriter(output_path, fourcc, 20.0, (640, 640))
|
43 |
+
|
44 |
+
while cap.isOpened():
|
45 |
+
ret, frame = cap.read()
|
46 |
+
if not ret:
|
47 |
+
break
|
48 |
+
frame = cv2.resize(frame, (640, 640))
|
49 |
+
# Detect objects in the frame
|
50 |
+
detection_result = model.detect_video(frame)
|
51 |
+
out.write(detection_result)
|
52 |
+
|
53 |
+
cap.release()
|
54 |
+
out.release()
|
55 |
+
|
56 |
+
return output_path
|
57 |
|
58 |
app = gr.Blocks()
|
59 |
|