python使用opencv按一定间隔截取视频帧
关于opencv
OpenCV是Intel开源计算机视觉库(ComputerVersion)。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV对非商业应用和商业应用都是免费的。同时OpenCV提供了对硬件的访问,可以直接访问摄像头,并且opencv还提供了一个简单的GUI(graphicsuserinterface)系统:highgui。我们就通过OpenCV提供的一些方法来构造出这个人脸检测(facedetection)程序来。
opencv的python包装
OpenCV本身是有C/C++编写的,如果要在其他语言中使用,我们可以通过对其动态链接库文件进行包装即可,幸运的是,Python下有很多个这样的包装,本文中使用的是Cvtypes。
事实上,在Python中很多的包都是来自第三方的,比如PIL(PythonImageLibrary)即为C语言实现的一个图形处理包,被包装到了Python中,这些包装可以让你像使用Python的内建函数一样的使用这些API。
这个例子使用python编程:用opencv按一定间隔截取视频帧,并保存为图片。
importcv2 vc=cv2.VideoCapture('Test.avi')#读入视频文件 c=1 ifvc.isOpened():#判断是否正常打开 rval,frame=vc.read() else: rval=False timeF=1000#视频帧计数间隔频率 whilerval:#循环读取视频帧 rval,frame=vc.read() if(c%timeF==0):#每隔timeF帧进行存储操作 cv2.imwrite('image/'+str(c)+'.jpg',frame)#存储为图像 c=c+1 cv2.waitKey(1) vc.release()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。