Fred808 commited on
Commit
7da3c66
·
verified ·
1 Parent(s): 3abac38

Upload extract_frames.py

Browse files
Files changed (1) hide show
  1. scripts/extract_frames.py +10 -3
scripts/extract_frames.py CHANGED
@@ -9,15 +9,22 @@ def extract_frames(video_path, output_dir, fps=2):
9
  count = 0
10
  frame_id = 1
11
  success, image = vidcap.read()
 
12
  while success:
13
- if int(vidcap.get(cv2.CAP_PROP_POS_FRAMES)) % int(vidcap.get(cv2.CAP_PROP_FPS) // fps) == 0:
14
  frame_name = f"{video_name}_{frame_id:04d}.png"
15
- cv2.imwrite(os.path.join(output_dir, frame_name), image)
 
 
 
 
 
 
16
  frame_id += 1
17
  success, image = vidcap.read()
18
  count += 1
19
  vidcap.release()
20
- print(f"Extracted {frame_id-1} frames from {video_path}")
21
 
22
  if __name__ == "__main__":
23
  video_dir = "videos"
 
9
  count = 0
10
  frame_id = 1
11
  success, image = vidcap.read()
12
+ failed = 0
13
  while success:
14
+ if int(vidcap.get(cv2.CAP_PROP_POS_FRAMES)) % max(1, int(vidcap.get(cv2.CAP_PROP_FPS) // fps)) == 0:
15
  frame_name = f"{video_name}_{frame_id:04d}.png"
16
+ out_path = os.path.abspath(os.path.join(output_dir, frame_name))
17
+ ok = cv2.imwrite(out_path, image)
18
+ if not ok:
19
+ print(f"[ERROR] Failed to write frame: {out_path}")
20
+ failed += 1
21
+ elif frame_id <= 5:
22
+ print(f"[DEBUG] Wrote frame: {out_path}")
23
  frame_id += 1
24
  success, image = vidcap.read()
25
  count += 1
26
  vidcap.release()
27
+ print(f"Extracted {frame_id-1} frames from {video_path}. Failed writes: {failed}")
28
 
29
  if __name__ == "__main__":
30
  video_dir = "videos"