coding: utf-8
指定某一帧截取图像(不包括裁剪)
import cv2 as cv
import os
1.读取视频文件夹
filepath = './Input_video' # 需要读取的视频的路径
pathDir = os.listdir(filepath) # 获取文件夹中文件名称
2.截视频帧数
for allDir in pathDir: # 逐个读取视频文件
a = 80# 截取指定帧数
videopath = r'./Input_video/'+allDir # 视频文件路径
vc = cv.VideoCapture(videopath) # 读入视频文件
# 存储视频的子目录
path = './Video_Result(Only-1)Frame/'#+allDir.split('.')[0] # 文件夹名称 + 以什么符号分割,此处选择直接放进一个文件夹中
if not os.path.exists(path): # 如果不存在就创建文件夹
os.mkdir(path)
if vc.isOpened(): # 判断载入的视频是否能够打开
rval , frame = vc.read()
else:
rval = False
while rval:
vc.set(cv.CAP_PROP_POS_FRAMES, a) # 截取指定帧数
rval,frame = vc.read() # 分帧读取视频
#frame = frame[130:920,380:1420]
cv.imencode('.jpg',frame)[1].tofile(path +'/' + str(a) +'-'+ allDir[:-4] + '.jpg')
print(str(a) +'-'+ allDir[:-4] + '---视频截取完成')
break
print('\n','处理完成,请移步------→ :Video_Result(Only-1)Frame查看结果')