Python OpenCV 视频截图:每秒一张,自动命名保存
你可以使用opencv库来读取视频文件并进行截图。首先,你需要安装opencv-python库,你可以使用以下命令进行安装:
pip install opencv-python
然后,你可以使用以下代码来实现你的需求:
import cv2
import os
# 设置视频文件路径
video_path = r'G:\新建文件夹\ep06.MP4'
# 设置保存截图的文件夹路径
output_folder = r'G:\pic_vedio'
# 创建保存截图的文件夹
os.makedirs(output_folder, exist_ok=True)
# 使用cv2.VideoCapture打开视频文件
video = cv2.VideoCapture(video_path)
# 获取视频的帧率
fps = video.get(cv2.CAP_PROP_FPS)
# 初始化计数器
count = 0
# 循环读取视频帧
while video.isOpened():
# 读取视频帧
ret, frame = video.read()
# 如果读取失败,则退出循环
if not ret:
break
# 计算当前帧的时间(秒)
current_time = video.get(cv2.CAP_PROP_POS_MSEC) / 1000.0
# 如果到达指定时间间隔,则保存当前帧
if current_time >= count:
# 设置保存截图的文件名
output_path = os.path.join(output_folder, f'{count:04d}.jpg')
# 保存当前帧为图像文件
cv2.imwrite(output_path, frame)
# 打印保存的文件路径
print(f'Saved {output_path}')
# 计数器加1
count += 1
# 释放视频对象
video.release()
print('Done.')
请注意,如果你的视频文件太大,可能会导致截图过程耗时较长。
原文地址: https://www.cveoy.top/t/topic/pSZw 著作权归作者所有。请勿转载和采集!