import os
import cv2
def save_frames(video_path, output_path, frames_per_second):
# 打开视频文件
video_capture = cv2.VideoCapture(video_path)
# 确定输出路径存在
if not os.path.exists(output_path):
os.makedirs(output_path)
# 获取视频的帧率
fps = video_capture.get(cv2.CAP_PROP_FPS)
# 计算每隔多少帧保存一张图片
frame_interval = int(round(fps / frames_per_second))
# 初始化计数器
frame_count = 0
while True:
# 读取一帧
ret, frame = video_capture.read()
# 检查是否成功读取帧
if not ret:
break
# 判断是否保存当前帧
if frame_count % frame_interval == 0:
# 生成输出文件名
output_file = f"{output_path}/{frame_count}.jpg"
# 保存帧为图片
cv2.imwrite(output_file, frame)
frame_count += 1
# 关闭视频文件
video_capture.release()
# 调用函数进行保存,设置每秒截取一张图片
video_path = 'D:\\xjq\\bird\\output.mp4'
output_path = 'D:\\xjq\\pic'
frames_per_second = 1
save_frames(video_path, output_path, frames_per_second)
按固定时长截取视频画面为图片
最新推荐文章于 2024-07-15 14:43:30 发布