训练集制作:以指定帧间隔截取视频为图片,并保存指定路径及名称

132 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情

1、安装python及opencv

查看opencv版本执行指令:

pkg-config opencv --modversion

在这里插入图片描述

OpenCV(开源计算机视觉库)是在 BSD 许可下发布的,因此它可以免费用于学术和商业用途。 它具有 C++,Python 和 Java 接口,支持 Windows,Linux,Mac OS,iOS 和 Android。 OpenCV 专为提高计算效率而设计,专注于实时应用。该库以优化的 C/C++ 编写,可以利用多核处理。 通过 OpenCL 启用,它可以利用底层异构计算平台的硬件加速。

2、建立相关文件

1)首先建立一空文件夹 命名:make_train_set 在这里插入图片描述 2)在里面建立一个存放想要保存图片的文件夹 命名:converted_picture 3)导入想要处理的视频 4)新建.py文件 放截图代码 在这里插入图片描述

3、编辑代码

在convert_vedio_to_picture.py中加入下面代码 1)将视频路径换掉 2)图片保存路径换掉

#coding:utf-8
import cv2  

vc=cv2.VideoCapture("/home/tukrin/zhl/make_train_set/example.MP4")   #利用OpenCV 读入视频文件
c=1

if  vc.isOpened():  #判断是否正常打开
   rval , frame = vc.read()  #函数输出的是两个参数,第一个参数rval 为True 或者False,代表有没有读取到图片;第二个参数frame表示截取到一帧的图片
else:
     rval = False

timeF = 15   #视频帧计数间隔频率

while rval:  #循环读取视频帧
     rval , frame = vc.read()
     if(c%timeF == 0):
	cv2.imwrite('/home/tukrin/zhl/make_train_set/converted_picture/'+str(c)+'.jpg',frame)#储存为图像
     c = c+1
     cv2.waitKey(1)  #图像显示时间1ms
vc.release()

4、执行代码

 python convert_vedio_to_picture.py

5、结果

结果会在converted_picture文件夹中出现截取的 以15为整数倍名称的图片 在这里插入图片描述

注意在使用上面代码的时候需要修改视频的路径。 并且要设置自己的图片的保存路径