import cv2 import os def extract_frames_from_video(video_path, output_folder, frame_interval=30): # Create the output folder if it doesn't exist os.makedirs(output_folder, exist_ok=True) # Capture the video from the file video_capture = cv2.VideoCapture(video_path) if not video_capture.isOpened(): print(f"Error: Could not open video {video_path}") return frame_count = 0 saved_count = 0 while True: # Read the next frame from the video success, frame = video_capture.read() if not success: print("Finished extracting frames.") break # Save every 'frame_interval' frame as a PNG file if frame_count % frame_interval == 0: frame_file_path = os.path.join(output_folder, f"frame_{saved_count:04d}.png") cv2.imwrite(frame_file_path, frame) print(f"Saved {frame_file_path}") saved_count += 1 frame_count += 1 # Release the video capture object video_capture.release() def main(): video_path = "img/drone.MOV" # Path to your .MOV video file output_folder = "extracted_frames" # Folder to save PNG frames frame_interval = 1 # Save one frame every 30 frames # Extract frames from the video extract_frames_from_video(video_path, output_folder, frame_interval) if __name__ == "__main__": main()