USB获取图像实时处理

手写VO的准备工作,调用UAB或者本地相机获取视频图像,读取并保存视频。

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include<iostream>

using namespace cv;
using namespace std;
 
int main()
{
    VideoCapture cap1(-1);
 
 
    bool stop(false);
    Mat frame1;

 
    namedWindow("cam1", CV_WINDOW_AUTOSIZE);

 
    if (cap1.isOpened() )
    {
        cout << "*** ***" << endl;
        cout << "摄像头已启动!" << endl;
    }
    else
    {
        cout << "*** ***" << endl;
        cout << "警告:请检查摄像头是否安装好!" << endl;
        cout << "程序结束!" << endl << "*** ***" << endl;
        return -1;
    }
 
    cap1.set(CV_CAP_PROP_FRAME_WIDTH, 640);
    cap1.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
    //cap2.set(CV_CAP_PROP_FRAME_WIDTH, 640);
    //cap2.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
    cap1.set(CV_CAP_PROP_FOCUS, 0);
    while (!stop)
    {
        if ( cap1.read(frame1) )
        {
      //彩色帧转灰度
            cvtColor(frame1, frame1, CV_RGB2GRAY);
            imshow("cam1", frame1);
            imwrite("frame1.jpg", frame1);
 
            if (waitKey(1) == 27)//按ESC键
            {
                stop = true;
                cout << "程序结束!" << endl;
                cout << "*** ***" << endl;
            }
        }
    }
   
    
    return 0;
}

保存退出。 编译链接生成可执行文件。

 g++ test.cpp -o test -I /usr/local/include/opencv -I /usr/local/include/opencv2 -L /usr/local/lib/*.so

参考文献:
https://blog.csdn.net/czl389/article/details/54604273

https://blog.csdn.net/qq_28901541/article/details/83446057

发布了71 篇原创文章 · 获赞 104 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/Darlingqiang/article/details/98193406