无法打开第二台相机

时间:2016-11-21 04:25:24

标签: opencv

如何使用OpenCV打开第二台相机?我使用的是VS2008,OpenCV 2.4.13,并附带了2种不同的USB摄像头。

我尝试使用下面的代码,但是我收到错误:

  

无法打开Capture1

代码是:

int _tmain(int argc, _TCHAR* argv[])
{
    VideoCapture capture(0);
    if( !capture.isOpened() )
        std::cout << "Capture0 can't be opened\n" << std::endl;

    VideoCapture capture1(1);
    if( !capture1.isOpened() )
        std::cout << "Capture1 can't be opened\n" << std::endl;

    return 0;
}

1 个答案:

答案 0 :(得分:0)

我经历过一些旧相机需要几秒钟等待准备捕捉。如果您在“等待准备”时间捕获它将返回空(OpenCV)或黑色图像(DirectShow)。它甚至在单个相机中也会发生。您可以陷入while(img.empty())循环,直到它正确返回有效图像并测量此时间段的长度。

在多摄像机环境中,为了让所有摄像机都可以捕获,你可以抓住然后检索。

http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-grab