import cv2
import os
def video_to_frames(video_path, output_dir):
# 创建输出目录(如果不存在)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 打开视频文件
cap = cv2.VideoCapture(video_path)
# 检查视频是否成功打开
if not cap.isOpened():
print("Error: Could not open video.")
return
# 初始化帧计数器
frame_count = 0
# 逐帧读取视频
while True:
ret, frame = cap.read()
# 如果读取到帧,ret为True
if ret:
# 将帧保存为JPEG图片
cv2.imwrite(os.path.join(output_dir, f"frame_{frame_count:04d}.jpg"), frame)
# 更新帧计数器
frame_count += 1
else:
# 如果读取不到帧,说明视频已经播放完毕,退出循环
break
# 释放视频文件并关闭所有OpenCV窗口
cap.release()
cv2.destroyAllWindows()
# 使用示例
video_path = "###视频路径###" # 替换为你的视频文件路径
output_dir = "###输出目录###" # 图片输出的目录
video_to_frames(video_path, output_dir)