为什么我看不到捕获的图像?

时间:2017-09-24 08:22:01

标签: c++ opencv3.3

我面临一个奇怪的问题。

我可以加载并显示图像。此外,我能够捕捉图像但我看不到显示的图像。相机连接正常,捕捉图像精细,但无法看到图像。

我的系统是使用opencv 3.3.0的10-64位窗口。

代码如下。

int main()
{

    cv::VideoCapture cap(0);

    if (!cap.isOpened()) {
        std::cerr << "camera didn't connected." << std::endl;
        return 0;
    }

    int nFrame = 0;

    cv::Mat image = cv::imread("orgin102.jpg");

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

    cvWaitKey(0);

    while (true) {

        cv::Mat origin;

        cap >> origin;

        //flip orign 
        flip(origin, origin, 1);

        nFrame++;

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

        //if (cv::waitKey(27) >= 0) break;

        cvWaitKey(0);
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

我通过更改cap的参数来解决这个问题。

这里是

cv::VideoCapture cap(1);

对于某些系统,0索引显示为第一个摄像头。而对于其他索引1显示第一台相机。

希望这会有所帮助。 干杯!