1

我面临一个奇怪的问题。

我能够加载和显示图像。此外,我能够捕捉图像,但我无法在显示中看到图像。相机连接正常,拍摄图像正常,但看不到图像。

我的系统是带有 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;
}
4

1 回答 1

1

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

这里是

cv::VideoCapture cap(1);

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

希望这可以帮助。干杯!

于 2017-09-24T08:54:38.443 回答