Python 按指定视频帧间隔截图
import cv2
import os.path
from tqdm import tqdm
file_path = r"F:\Files\" # 视频文件路径
path_dir = os.listdir(file_path) # 返回文件夹中的文件名
save_path = r"L:\0\" # 保存图片文件夹路径
name_count = 1
video_path = file_path + "1.avi" # 视频名称
video = cv2.VideoCapture(video_path) # 读入视频文件
if video.isOpened(): # 判断是否正常打开
rval, frame = video.read()
print("开始读取视频")
else:
rval = False
print("读取视频失败")
timeF = 1 # 视频帧计数间隔频率
c = 1
if not os.path.exists(save_path):
os.makedirs(save_path)
print("创建保存截图目录")
# 这里按每一帧截图
while rval: # 循环读取视频帧
if c % timeF == 0:
# zfill(width) 方法返回指定长度的字符串,原字符串右对齐,前面填充0
# width -- 指定字符串的长度。原字符串右对齐,前面填充0
imageName = str(name_count).zfill(5)
cv2.imwrite(save_path + imageName + '.jpg', frame) # imwrite在py3中无法保存中文路径
print("保存图片:" + save_path + imageName + '.jpg')
name_count = name_count + 1
c = c + 1
cv2.waitKey(1)
rval, frame = video.read()
video.release()