import cv2
import os
#START_TIME= 180 #设置开始时间(单位秒)
#END_TIME= 600 #设置结束时间(单位秒)
video_path = '../video_to_picture/test.mp4' #视频路径
picSavePath = '../video_to_picture/pictures' #图片保存路径
video_capture = cv2.VideoCapture(video_path) #读取视频
FPS = video_capture.get(cv2.CAP_PROP_FPS) #获取帧率单位帧每秒
print(FPS)
size = (video_capture.get(cv2.CAP_PROP_FRAME_WIDTH), video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT)) #获取视频长宽
print(size)
#TOTAL_FRAME = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT)) #获取视频总帧数
#frameToStart = START_TIME*FPS #开始帧 = 开始时间*帧率
frameToStart = 16200
print(frameToStart)
#frametoStop = END_TIME*FPS #结束帧 = 结束时间*帧率
frametoStop = 16800
print(frametoStop)
video_capture.set(cv2.CAP_PROP_POS_FRAMES, frameToStart) #设置读取的位置,从第几帧开始读取视频
COUNT = frameToStart
while True:
success, frame = video_capture.read()
if success:
if COUNT <= frametoStop:#选取起始帧
path = os.path.join(os.path.abspath(picSavePath), 'test_' + str(COUNT) + ".jpg")#设置输出图片的名字
cv2.imwrite(path, frame, [cv2.IMWRITE_JPEG_QUALITY, 100])#100表示图像质量最高
COUNT += 1
else: #退出读取程序
break
print('end')
video_capture.release()
python调用opencv截取视频中的帧为图片
最新推荐文章于 2023-02-22 20:12:52 发布