-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathextract_frames.py
31 lines (24 loc) · 904 Bytes
/
extract_frames.py
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
29
30
31
import cv2
import os
import argparse
def extract_frames(video_path, output_dir):
target_size = (1024, 576)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
cap = cv2.VideoCapture(video_path)
frame_count = 0
while True:
ret, frame = cap.read()
if not ret:
break
resized_frame = cv2.resize(frame, target_size)
frame_filename = os.path.join(output_dir, f'frame_{frame_count:04d}.png')
cv2.imwrite(frame_filename, resized_frame)
frame_count += 1
cap.release()
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Extract frames from videos.")
parser.add_argument("--video_path", type=str, required=True)
parser.add_argument("--output_folder", type=str, required=True)
args = parser.parse_args()
extract_frames(args.video_path, args.output_folder)