工程小白 2018-03-28 08:57 采纳率: 0%
浏览 3583
已结题

vs+opencv调用同一usb口的两路摄像头

买了一个双目摄像头,只有一个usb口那种,支持两路设备识别和输出,我单独调用任何一路都能输出图像,但是同时调用两路显示时,第二路总是打不开,有没有哪个大佬遇到过相似的问题?怎么解决的呢?
附上我的代码:

#include

#include

using namespace cv;
using namespace std;
int main()
{
//【1】从摄像头读入视频

VideoCapture capture(2);
if(!capture.isOpened())

{cout<< "cannot open the camera.";cin.get();return -1;}
VideoCapture capture1(1);
if (!capture1.isOpened())
{
cout << "cannot open the camera1."; cin.get(); return -1;
}
while (1)
{
Mat frame; //定义一个Mat变量,用于存储每一帧的图像

Mat frame1; //定义一个Mat变量,用于存储每一帧的图像

    capture >> frame;  //读取当前帧   


    if (frame.empty())
    {
        printf("--(!) No captured frame -- Break!");
        //break;                  
    }
    else
    {
        imshow("原图", frame); //显示当前帧          
    }
capture1 >> frame1;  //读取当前帧   
    if (frame1.empty())
    {
        printf("--(!) No captured frame1 -- Break\r\n");
        //break;                  
    }
    else
    {
        imshow("原图1", frame1); //显示当前帧        
    }

    waitKey(30); //延时30ms  
}
return 0;

}

  • 写回答

2条回答

  • bobstock 2018-03-28 09:41
    关注

    楼主这个问题问得让人费解啊
    你说的设备是一个双目摄像头,一个USB输出,那这样的情况数据肯定是串行出来的,你能够单独调出每一路的视频截图,这说明这个设备是正常工作的。
    那么现在问题来了,你希望同时看到两路视频,这两路为什么不能采用分别调用的方式来解决呢?
    从你的代码看,前面的定义mat做完,后面的catpture就有了一个先后之分,你声明的时候干脆一起声明啊,缩进也不一样,这个结构体不知道能不能正常实现你想表达的意思。

    评论

报告相同问题?

悬赏问题

  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出