Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -111,7 +111,27 @@ def video_vision(video_input_path, prompt):
|
|
| 111 |
seg_frame = visualize(pred_mask, image_paths[frame_idx], temp_dir)
|
| 112 |
seg_frames.append(seg_frame)
|
| 113 |
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
|
| 116 |
else:
|
| 117 |
return result['prediction'], None
|
|
@@ -164,7 +184,7 @@ with gr.Blocks(analytics_enabled=False) as demo:
|
|
| 164 |
submit_video_btn = gr.Button("Submit", scale=1)
|
| 165 |
with gr.Column():
|
| 166 |
vid_output_res = gr.Textbox(label="Response")
|
| 167 |
-
output_video = gr.
|
| 168 |
|
| 169 |
submit_video_btn.click(
|
| 170 |
fn = video_vision,
|
|
|
|
| 111 |
seg_frame = visualize(pred_mask, image_paths[frame_idx], temp_dir)
|
| 112 |
seg_frames.append(seg_frame)
|
| 113 |
|
| 114 |
+
output_video = "output_video.mp4"
|
| 115 |
+
|
| 116 |
+
# Read the first image to get the size (resolution)
|
| 117 |
+
frame = cv2.imread(seg_fraes[0])
|
| 118 |
+
height, width, layers = frame.shape
|
| 119 |
+
|
| 120 |
+
# Define the video codec and create VideoWriter object
|
| 121 |
+
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # Codec for MP4
|
| 122 |
+
video = cv2.VideoWriter(output_video, fourcc, 24.0, (width, height))
|
| 123 |
+
|
| 124 |
+
# Iterate over the image paths and write to the video
|
| 125 |
+
for img_path in images:
|
| 126 |
+
frame = cv2.imread(img_path)
|
| 127 |
+
video.write(frame)
|
| 128 |
+
|
| 129 |
+
# Release the video writer
|
| 130 |
+
video.release()
|
| 131 |
+
|
| 132 |
+
print(f"Video created successfully at {output_video}")
|
| 133 |
+
|
| 134 |
+
return result['prediction'], output_video
|
| 135 |
|
| 136 |
else:
|
| 137 |
return result['prediction'], None
|
|
|
|
| 184 |
submit_video_btn = gr.Button("Submit", scale=1)
|
| 185 |
with gr.Column():
|
| 186 |
vid_output_res = gr.Textbox(label="Response")
|
| 187 |
+
output_video = gr.Video(label="Segmentation")
|
| 188 |
|
| 189 |
submit_video_btn.click(
|
| 190 |
fn = video_vision,
|