如何使用 Opencv 打开摄像头获取图像信息?

如何使用 Opencv 打开摄像头获取图像信息?

Flow

  1. 遍历摄像头设备。
  2. 根据 VID 和 PID 打开特定的设备。
  3. 使用 Directshow 设置摄像头相关参数(曝光度、分辨率、亮度、饱和度、对比度等)。
  4. 使用 capture.read(camera) 获取图像。
  5. 图像处理(滤波、边缘检测、二值化等)。
  6. 图像显示 cv::imshow()

Code

#include "opencv2/opencv.hpp"
using namespace cv;

void OpencvCamera()
{
   //获取视频流
   namedWindow("Win7x64",WINDOW_NORMAL);
   VideoCapture capture;
   Mat camera;
   //采用 Directshow 的方式打开第一个摄像头设备。
   capture.open(0,CAP_DSHOW);
   if(!capture.isOpened())
   {
       return;
   }
   //capture.set(CAP_PROP_SETTINGS,0);//调出 Directshow 摄像头属性设置栏
   while (true)
   {
       //读取一帧图像
       capture.read(camera);
       if(camera.empty())
       {
           continue;
       }
       imshow("Win7x64",camera);
       //Esc
       if (waitKey(1) == 27)
       {
           break;
       }
   }
   return;
}
posted @ 2017-10-08 02:08  學海無涯  阅读(6819)  评论(0编辑  收藏  举报