OpenCV学习笔记----读取摄像头

第七个程序:读取摄像头

在Linux系统中,”一切皆文件“,它将鼠标、键盘、摄像头设备归类为设备文件

在读取视频文件中,我们使用到了VideoCapture来读取视频,传递给该函数的参数是视频文件的路径,即可打开视频文件,相似的是,如果我们将摄像头设备的设备号传递给该函数,它就会打开摄像头,实时获取摄像头中的视频数据

通常情况下,一个设备只会有一个摄像头,因此其设备ID通常为0,但该函数的默认参数为-1,表示自动选取摄像头设备

程序源代码如下:

#include 
#include 

using namespace std;
using namespace cv;

int main()
{
    VideoCapture cap;
    cap.open(0);

    if(!cap.isOpened())
    {
        cout << "The camera open failed!" << endl;
    }

    Mat frame;
    while(1)
    {
        cap >> frame;
        if(frame.empty())
            break;
        imshow("Camera",frame);
        if(waitKey(33) >= 0)
            break;
    }
}

程序编译指令:

g++ read_camera.cpp -o read_camera `pkg-config --cflags --libs opencv`

由于我的Ubuntu安装在Vmware中,因此在调用摄像头之前,需要先将笔记本的摄像头和虚拟机连接,具体方法可自行百度,如果需要验证自己的Linux是否已经和摄像头连接,可以在终端输入cheese(Ubuntu自带的拍照程序)检测摄像头工作状态

程序运行成功,屏幕上显示出了一个靓仔的身影
OpenCV学习笔记----读取摄像头_第1张图片

你可能感兴趣的:(OpenCV)