从视频中隔固定帧截取图像
第三方库
cv2
安装命令:
pip install opencv-python
修改输入目录与输出目录即可使用
import cv2
import os
def cap_picture(video_path,data_path,save_path):
vc = cv2.VideoCapture(video_path) # 读入视频文件,命名vc
n = 1 # 计数
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
print("读取失败")
rval = False
timeF = 10 # 视频帧计数间隔频率,可自行设定
i=0
while rval: # 循环读取视频帧
rval, frame = vc.read()
if (n % timeF == 0): # 每隔timeF帧进行存储操作
i += 1
print(i)
cv2.imshow("Video",frame)
cv2.imwrite(r'{}/{}{}.jpg'.format(save_path,data_path[:-4],i), frame) # 存储为图像
n = n + 1
cv2.waitKey(1)
vc.release()
#将待处理视频存放到下面的目录中
filepath=r"C:/Users/Desktop/Dataset/video/"
#保存截取后的图片的文件目录
save_path=r"D:/Spyder/cap_picture/"
# cap_picture(r"C:/Users/Desktop/Dataset/video/VID_20210113_100638.mp4")
if __name__ == '__main__':
for data_path in os.listdir(filepath):
path=filepath+data_path
print(path)
cap_picture(path,data_path,save_path)