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

Why can I not see captured image?

本文关键字:图像 我看 看不到 为什么      更新时间:2023-10-16

我面临一个奇怪的问题。

我能够加载和显示图像。另外,我能够捕获图像,但是我看不到显示图像。相机连接正常,捕获图像良好,但看不到图像。

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

代码在下面。

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;
}

我通过更改CAP参数解决了此问题。

这里是

cv::VideoCapture cap(1);

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

希望这会有所帮助。欢呼!