detect-track-poc/mov_to_png.py

48 lines
1.4 KiB
Python

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()