Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -130,7 +130,7 @@ import cv2
|
|
130 |
import os
|
131 |
|
132 |
# Load the model
|
133 |
-
model = torch.hub.load('ultralytics/yolov5', '
|
134 |
|
135 |
def detect_image(image):
|
136 |
results = model(image)
|
@@ -145,12 +145,15 @@ def detect_video(video_path):
|
|
145 |
os.makedirs(frames_dir, exist_ok=True)
|
146 |
|
147 |
frame_count = 0
|
|
|
148 |
while True:
|
149 |
success, frame = video.read()
|
150 |
if not success:
|
151 |
break
|
152 |
-
|
153 |
-
|
|
|
|
|
154 |
frame_count += 1
|
155 |
|
156 |
video.release()
|
@@ -160,7 +163,7 @@ def detect_video(video_path):
|
|
160 |
results_dir = 'results'
|
161 |
os.makedirs(results_dir, exist_ok=True)
|
162 |
|
163 |
-
for i in range(
|
164 |
frame_path = os.path.join(frames_dir, f'frame_{i:04d}.jpg')
|
165 |
frame = cv2.imread(frame_path)
|
166 |
results = model(frame)
|
@@ -175,7 +178,7 @@ def detect_video(video_path):
|
|
175 |
|
176 |
video_output_path = 'output_video.mp4' # Replace with your desired output video path
|
177 |
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # You can change the codec as needed
|
178 |
-
video_writer = cv2.VideoWriter(video_output_path, fourcc, frame_rate, (width, height))
|
179 |
|
180 |
for frame_file in frame_files:
|
181 |
frame_path = os.path.join(results_dir, frame_file)
|
@@ -213,3 +216,4 @@ tabbed_interface = gr.TabbedInterface(interfaces, ["Image", "Video"])
|
|
213 |
|
214 |
# Launch the tabbed interface
|
215 |
tabbed_interface.launch(debug=True)
|
|
|
|
130 |
import os
|
131 |
|
132 |
# Load the model
|
133 |
+
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
|
134 |
|
135 |
def detect_image(image):
|
136 |
results = model(image)
|
|
|
145 |
os.makedirs(frames_dir, exist_ok=True)
|
146 |
|
147 |
frame_count = 0
|
148 |
+
process_frame_count = 0
|
149 |
while True:
|
150 |
success, frame = video.read()
|
151 |
if not success:
|
152 |
break
|
153 |
+
if frame_count % 5 == 0: # Process every 5th frame (adjust as needed)
|
154 |
+
frame_output_path = os.path.join(frames_dir, f'frame_{process_frame_count:04d}.jpg')
|
155 |
+
cv2.imwrite(frame_output_path, frame)
|
156 |
+
process_frame_count += 1
|
157 |
frame_count += 1
|
158 |
|
159 |
video.release()
|
|
|
163 |
results_dir = 'results'
|
164 |
os.makedirs(results_dir, exist_ok=True)
|
165 |
|
166 |
+
for i in range(process_frame_count):
|
167 |
frame_path = os.path.join(frames_dir, f'frame_{i:04d}.jpg')
|
168 |
frame = cv2.imread(frame_path)
|
169 |
results = model(frame)
|
|
|
178 |
|
179 |
video_output_path = 'output_video.mp4' # Replace with your desired output video path
|
180 |
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # You can change the codec as needed
|
181 |
+
video_writer = cv2.VideoWriter(video_output_path, fourcc, frame_rate/5, (width, height)) # Adjust frame rate
|
182 |
|
183 |
for frame_file in frame_files:
|
184 |
frame_path = os.path.join(results_dir, frame_file)
|
|
|
216 |
|
217 |
# Launch the tabbed interface
|
218 |
tabbed_interface.launch(debug=True)
|
219 |
+
|