首页 » 技术分享 » opencv学习---VideoCapture 类基础知识

opencv学习---VideoCapture 类基础知识

 

以下是对两位大神的博客进行简单整理得到:http://blog.csdn.net/weicao1990/article/details/53379881

http://blog.csdn.net/guduruyu/article/details/68486063

便于为需要的同学解惑,便于自己以后复习!       


    在opencv中关于视频的读操作是通过VideoCapture类来完成的;关于视频的写操作是通过VideoWriter类来实现的。

<一>---VideoCapture---视频的获取操作

       VideoCapture既支持从视频文件(.avi , .mpg格式)读取,也支持直接从摄像机(比如电脑自带摄像头)中读取。要想获取视频需要先创建一个VideoCapture对象,VideoCapture对象的创建方式有以下三种: cop 

【方式一】是从文件(.MPG或.AVI格式)中读取视频,对象创建以后,OpenCV将会打开文件并做好准备读取它,如果打开成功,我们将可以开始读取视频的帧,并且cv::VideoCapture的成员函数isOpened()将会返回true(建议在打开视频或摄像头时都使用该成员函数判断是否打开成功)。

方法:  cv::VideoCapture capture(const string& filename);  // 从视频文件读取 
例程:  cv::VideoCapture capture("C:/Users/DADA/DATA/gogo.avi");  // 从视频文件读取 

【方式二】是从摄像机中读取视频,这种情况下,我们会给出一个标识符,用于表示我们想要访问的摄像机,及其与操作系统的握手方式。对于摄像机而言,这个标志符就是一个标志数字——如果只有1个摄像机,那么就是0,如果系统中有多个摄像机,那么只要将其向上增加即可。标识符另外一部分是摄像机域(camera domain),用于表示摄像机的类型,这个域值可以是下面任一预定义常量。

  1. [cpp] view plain
  2. cv::VideoCapture capture(int device );  //视频捕捉设备 id ---笔记本电脑的用0表示 


      以这种方式创建视频捕获对象时,我们所传递的标识符是域索引和摄像机索引的和。例如:

[cpp] 
view plain
 copy

转载自原文链接, 如需删除请联系管理员。

原文链接:opencv学习---VideoCapture 类基础知识,转载请注明来源!

0