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实现线程池代码分享
Jun 21 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
深入理解Django自定义信号(signals)
Oct 15 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
python实现维吉尼亚加密法
Mar 20 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
Python 用__new__方法实现单例的操作
Dec 11 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
护士在校生自荐信
2014/02/01 职场文书
学生党支部先进事迹
2014/02/04 职场文书
纠纷协议书
2014/04/16 职场文书
2014年售票员工作总结
2014/11/19 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技