python使用opencv按一定间隔截取视频帧

yipeiwu_com6年前Python基础

关于opencv

OpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV 拥有包括 300 多个 C 函数的跨平台的中、高层 API 。它不依赖于其它的外部库 —— 尽管也可以使用某些外部库。 OpenCV 对非商业应用和商业应用都是免费 的。同时 OpenCV 提供了对硬件的访问,可以直接访问摄像头,并且 opencv 还提供了一个简单的 GUI(graphics user interface) 系统 :highgui 。 我们就通过 OpenCV 提供的一些方法来构造出这个人脸检测 ( face detection ) 程序来。

opencv的python包装

OpenCV 本身是有 C/C++ 编写的,如果要在其他语言中使用,我们可以通过对其动态链接库文件进行包装即可,幸运的是, Python 下有很多个这样的包装,本文中使用的是 Cvtypes 。

事实上,在 Python 中很多的包都是来自第三方的,比如 PIL(Python Image Library) 即为 C 语言实现的一个图形处理包,被包装到了 Python 中,这些包装可以让你像使用 Python 的内建函数一样的使用这些 API 。

这个例子使用python编程:用opencv按一定间隔截取视频帧,并保存为图片。

import cv2 
 
     
vc = cv2.VideoCapture('Test.avi') #读入视频文件 
c=1 
 
if vc.isOpened(): #判断是否正常打开 
  rval , frame = vc.read() 
else: 
  rval = False 
 
timeF = 1000 #视频帧计数间隔频率 
 
while rval:  #循环读取视频帧 
  rval, frame = vc.read() 
  if(c%timeF == 0): #每隔timeF帧进行存储操作 
    cv2.imwrite('image/'+str(c) + '.jpg',frame) #存储为图像 
  c = c + 1 
  cv2.waitKey(1) 
vc.release() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

一波神奇的Python语句、函数与方法的使用技巧总结

一波神奇的Python语句、函数与方法的使用技巧总结

显示有限的接口到外部 当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list...

对Python3中dict.keys()转换成list类型的方法详解

对Python3中dict.keys()转换成list类型的方法详解

在python3中使用dict.keys()返回的不在是list类型了,也不支持索引,我们可以看一下下面这张图片 那么我们应该怎么办呢,其实解决的方法也是非常简单的,只需要使用list...

Python中利用xpath解析HTML的方法

在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,目前我用的是lxml模块(用来分析XML文档结构的,当然也能分析html结构), 利用其lxml.html的xpath对h...

python中requests库session对象的妙用详解

在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息。 妙用1 requests库的session对象能够帮我们跨请...

Python单体模式的几种常见实现方法详解

本文实例讲述了Python单体模式的几种常见实现方法。分享给大家供大家参考,具体如下: 这里python实现的单体模式,参考了:https://stackoverflow.com/que...