利用OpenCV的VideoCapture类实现视频/摄像头读操作

来源:互联网 发布:windows下安装hadoop 编辑:程序博客网 时间:2024/05/22 07:56

OpenCV中提供了专门操作视频的类VideoCapture,VideoCapture类可以从文件或摄像设备中读取视频,提供常用的三种构造函数方法如下

VideoCapture::VideoCapture()

VideoCapture::VideoCapture(const string &filename) //filename表示输入视频文件的路径及名称

VideoCapture::VideoCapture(int device) //device表示打开视频操作索引号设置,如果是报像头则设置device为0

其常用的函数及相应功能如下

VideoCapture::open 打开视频文件或视频获取装置

VideoCapture::isOpened 判断视频文件读取是否正确,返回ture则正确

VideoCapture::release 关闭视频流文件

VideoCapture::grab 抓住下一帧的视频文件或捕获设备

VideoCapture::retrieve 解码并返回了视频帧

VideoCapture::read  抓住,解码并返回下一个视频帧

VideoCapture::get 返回指定视频类的相关参数信息

VideoCapture::set 设置类信息的一个属性

VideoCapture类对视频的单帧图像操作也提供了方法

VideoCapture& operator >> (CV_OUT Mat& image); //对符号>>进行重载

bool VideoCapture::read(Mat& image);//其中image为帧图像输出,当连续使用read时,它会自动读取下一帧,并覆盖掉上一帧的图像

VideoCapture类读取文件操作代码如下所示
代码中用到的视频下载链接为:http://pan.baidu.com/s/1hrIk2Ew

//OpenCV版本opencv2.4.13//交流QQ2487872782 2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!  

运行结果如下图所示



再附一段利用VideoCapture类打开摄像头的设置操作代码吧

VideoCapture capture(0);//设置读取摄像头图像的宽高为400×400capture.set(CV_CAP_PROP_FRAME_WIDTH,400);capture.set(CV_CAP_PROP_FRAME_HEIGHT,400);

------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782


0 0
原创粉丝点击