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


Posted in Python onMarch 06, 2018

关于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实现多线程HTTP下载器示例
Feb 11 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python实现调度算法代码详解
Dec 01 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
在python中使用with打开多个文件的方法
Jan 07 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 Python
python+ffmpeg视频并发直播压力测试
Mar 06 #Python
小白如何入门Python? 制作一个网站为例
Mar 06 #Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 #Python
Python从零开始创建区块链
Mar 06 #Python
Django 实现下载文件功能的示例
Mar 06 #Python
python入门前的第一课 python怎样入门
Mar 06 #Python
详解Python判定IP地址合法性的三种方法
Mar 06 #Python
You might like
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
Python yield使用方法示例
2013/12/04 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
python Tornado框架的使用示例
2020/10/19 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
大四本科生的自我评价
2013/12/30 职场文书
趣味比赛活动方案
2014/02/15 职场文书
政府信息公开实施方案
2014/05/09 职场文书
干部年终考核评语
2015/01/04 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers