视频转图片工具
import cv2
vc = cv2.VideoCapture(r'D:\Your\path\to\your\video') # 读入视频文件
c = 1
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 1 # 视频帧计数间隔频率
while rval: # 循环读取视频帧
rval, frame = vc.read()
if (c % timeF == 0): # 每隔timeF帧进行存储操作
# cv2.imshow('pic',frame)
# cv2.imwrite(r'E:\Dataset\file\数据\image/' + str(c) + '.jpg', frame) # imwrite在py3中无法保存中文路径
# if(c%20==0):
# cv2.imencode('.jpg', frame)[1].tofile(r'C:\video\ts30s/' + str(c) + '.jpg') # 存储为图像
x=c%25 #视频帧数
y=x%5
#每秒需要截取几张图片,那么y就等于几。但y不可以等于1,如果需要每一帧都截取,那就直接用y=x-25
if(y!=0):
if(y<=1):
cv2.imencode('.jpg', frame)[1].tofile(r'C:\Your\Path\To\Save/' + str(c) + '.jpg') # 存储为图像
# print('E:\Dataset\file\数据\image/' + '%06d' % c + '.jpg')
c = c + 1
cv2.waitKey(1)
vc.release()