opencv 打开双目摄像头只能采集一个摄像头的问题,及左右目图像分割成两幅图

一.opencv 打开双目摄像头只能采集一个摄像头的问题

本人采用单USB接口的双目摄像头,总是只打开左摄像头的图,经摸索后发现主要就是分辨率的问题,如果分辨率设置正确,便可以打开左右目合成图(在一张图上),如果设置不正确,可能报错,也可能只显示左目图像,所以解决如下

int main() {

 cv::VideoCapture cap(0);  //把path改为0,则读取摄像头
 cap.set(cv::CAP_PROP_FRAME_WIDTH,1440);   //设置分辨率
 cap.set(cv::CAP_PROP_FRAME_HEIGHT,480);   //设置分辨率

 cv::Mat img;
 while(1){

   cap.read(img);

   cv::imshow("image",img);

   cv::waitKey(1);
 }
 return 0;
}

二.左右目图像分割成两幅图

由于获得的是左右目合成图,所以需要分割开,具体做法如下

int main()
{
     while(1)
    {
     VideoCapture capture(0);
     if (!capture.isOpened())
     {
         cout<<"can not open the camera"<>frame; //载入图像
         if (frame.empty())
         {
             //判断图像是否载入 cout<<"can not load the frame"<

你可能感兴趣的:(opencv,opencv,计算机视觉,人工智能)