File size: 707 Bytes
df7a2cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import cv2, os
import gradio as gr

def process_frame(frame):
    # Your processing logic here
    return frame

def video_to_frames(video_filepath):
    cap = cv2.VideoCapture(video_filepath)
    frame_number = 0
    while True:
        ret, frame = cap.read()
        if not ret:
            break
            
        frame_ = process_frame(frame)
        
        # Save the frame as an image
        os.makedirs("frames", exist_ok=True)
        frame_filename = os.path.join("frames", f"frame_{frame_number}.jpg")
        cv2.imwrite(frame_filename, frame_)
        yield frame_filename

        frame_number += 1

    cap.release()
    
gr.Interface(video_to_frames, "video", "image").queue().launch()