我是靠谱客的博主 留胡子中心,最近开发中收集的这篇文章主要介绍OpenCV 基本操作之摄像头,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考:  Opencv打开内置摄像头

  opencv中通过VideoCaptrue类视频进行读取操作以及调用摄像头,下面是该类的API。

1.VideoCapture类的构造函数:

 
  1. C++: VideoCapture::VideoCapture();

  2. C++: VideoCapture::VideoCapture(const string& filename);

  3. C++: VideoCapture::VideoCapture(int device);

功能:创建一个VideoCapture类的实例,如果传入对应的参数,可以直接打开视频文件或者要调用的摄像头。

参数:
filename – 打开的视频文件名。

device – 打开的视频捕获设备id ,如果只有一个摄像头可以填0,表示打开默认的摄像

 

 

 
  1. VideoCapture capture;//初始化一个VideoCapture实例,名字叫做capture

  2. capture.open("dog.avi");//利用初始化的capture,打开视频"dog.avi"

  3. capture.open(0);//利用初始化的capture,打开ID为0的摄像头

  4. capture.release();//关闭视频文件或者摄像头

 

VideoCapture::read

 
  1. C++: VideoCapture& VideoCapture::operator>>(Mat& image);

  2. C++: bool VideoCapture::read(Mat& image);

功能:该函数结合VideoCapture::grab()和VideoCapture::retrieve()其中之一被调用,用于捕获、解码和返回下一个视频帧这是一个最方便的函数对于读取视频文件或者捕获数据从解码和返回刚刚捕获的帧,假如没有视频帧被捕获(相机没有连接或者视频文件中没有更多的帧)将返回false。

从上面的API中我们会发现获取视频帧可以有多种方法 :

// 方法一
capture.read(frame);
 
// 方法二
capture.grab();
 
// 方法三
capture.retrieve(frame);
 
// 方法四
capture >> frame;

 

现在就常用两种:

Mat frame;   //定义Mat变量

capture.read(frame);

capture >> frame;

 

 

 

最后

以上就是留胡子中心为你收集整理的OpenCV 基本操作之摄像头的全部内容,希望文章能够帮你解决OpenCV 基本操作之摄像头所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部