之前老师让做的一个项目关于检测视频中有光斑的地方,于是决定把它整理记录下来。
首先读取本地视频,获取视频参数
mport cv2
import os
import time
import numpy as np
import shutil
from skimage import io
#从视频里截取图片
cap = cv2.VideoCapture('E:/chuchai/chelun.mp4') # 从文件读取视频
# 判断视频是否打开
if (cap.isOpened()):
print ('Open')
else:
print ('Fail to open!')
fps = cap.get(cv2.CAP_PROP_FPS) # 获取帧速
print (fps)#打印出帧率
fWidth = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
print (fWidth)
fHeight = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print (fHeight)
fNums = cap.get(cv2.CAP_PROP_FRAME_COUNT)#获取总帧数
#cap.set(cv2.CAP_PROP_POS_FRAMES,50) #设置要获取的帧号
success,frame = cap.read()# #read方法返回一个布尔值和一个视频帧。若帧读取成功,则返回True
通过上述代码获得视频帧数后,设置自己想要获取的视频的帧数,即总帧数与间隔频率的比值,并将所捕获的照片保存到本地反方便后面处理。
timeF = 100 # 视频帧计数间隔频率
i = 0
#自动生成文件夹
File_Path = os.getcwd() +'picture\\'
#获取到当前文件的目录&#