Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -27,6 +27,8 @@ import matplotlib.pyplot as plt
|
|
27 |
from PIL import Image, ImageFilter
|
28 |
from sam2.build_sam import build_sam2_video_predictor
|
29 |
|
|
|
|
|
30 |
def preprocess_image(image):
|
31 |
return image, gr.State([]), gr.State([]), image, gr.State()
|
32 |
|
@@ -303,10 +305,18 @@ def propagate_to_all(checkpoint, stored_inference_state, stored_frame_names, vid
|
|
303 |
# Close the plot
|
304 |
plt.close()
|
305 |
|
|
|
|
|
306 |
if vis_frame_type == "check":
|
307 |
return gr.update(value=jpeg_images, visible=True), gr.update(visible=False, value=None)
|
308 |
elif vis_frame_type == "render":
|
309 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
|
311 |
|
312 |
with gr.Blocks() as demo:
|
|
|
27 |
from PIL import Image, ImageFilter
|
28 |
from sam2.build_sam import build_sam2_video_predictor
|
29 |
|
30 |
+
from moviepy.editor import ImageSequenceClip
|
31 |
+
|
32 |
def preprocess_image(image):
|
33 |
return image, gr.State([]), gr.State([]), image, gr.State()
|
34 |
|
|
|
305 |
# Close the plot
|
306 |
plt.close()
|
307 |
|
308 |
+
|
309 |
+
|
310 |
if vis_frame_type == "check":
|
311 |
return gr.update(value=jpeg_images, visible=True), gr.update(visible=False, value=None)
|
312 |
elif vis_frame_type == "render":
|
313 |
+
# Create a video clip from the image sequence
|
314 |
+
fps = 24 # Frames per second
|
315 |
+
clip = ImageSequenceClip(jpeg_images, fps=fps)
|
316 |
+
# Write the result to a file
|
317 |
+
final_vid_output_path = "output_video.mp4"
|
318 |
+
video.write_videofile(output_path, codec='libx264')
|
319 |
+
return gr.update(visible=False, value=None), gr.update(value=final_vid_output_path, visible=True)
|
320 |
|
321 |
|
322 |
with gr.Blocks() as demo:
|