OpenCV打开两个摄像头的问题
cmycu 2016-01-09 05:27:17 版本2.4.8,win7 64位,VS2010。
做双目视觉,把两个工业摄像机放一起,也就是有两个USB头,打开摄像头的时候出现以下问题:
要么就是只能打开一个摄像头,过一会儿报错;要么就直接报错,什么都没有。
下面是程序:
#include <opencv2/opencv.hpp>
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
int main()
{
//namedWindow("L_image",0);
//namedWindow("R_image",0);
VideoCapture cap1;
VideoCapture cap2;
cap1.open(0);
cap2.open(1);
double w = 320, h = 240;
cap1.set(CV_CAP_PROP_FRAME_WIDTH,w);
cap1.set(CV_CAP_PROP_FRAME_HEIGHT,h);
cap2.set(CV_CAP_PROP_FRAME_WIDTH,w);
cap2.set(CV_CAP_PROP_FRAME_HEIGHT,h);
if(!cap1.isOpened()) {cout<<"-1"<<endl;return -1;}
if(!cap2.isOpened()) {cout<<"-2"<<endl;return -2;}
Mat frame1,frame2;
while(1)
{
cap1>>frame1;
imshow("L_image",frame1);
cap2>>frame2;
imshow("R_image",frame2);
int c=waitKey(0);
if(c==' ') break;
}
return 0;
}
如果把其中一个摄像机相关的代码注释掉,那另一个可以正常显示。
代码跟大部分网上的几乎是完全一样了,不知道哪里出了问题,求指教!