1

我在 Windows 7 64 位的 Visual C++ 2010 Express 上使用 OpenCV 2.2。每当我尝试运行一些简单的程序来访问和显示来自网络摄像头的图像时,我都会得到一个黑色的输出窗口,而不是实际的网络摄像头源。OpenCV 检测到网络摄像头,不报告任何错误或警告,但每一帧都是黑屏图像。

这是我一直在尝试的代码:

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
    Mat img;
    VideoCapture cap(0);
    while (true)
    {
        cap >> img;
        Mat edges;
        cvtColor(img, edges, CV_BGR2GRAY);
        Canny(edges, edges, 30, 60);
        imshow("window label", img);
        waitKey(100);
    }
    return 0;
}

关于似乎是什么问题的任何想法?在 OpenCV 2.4.2 上一切正常,但我不得不切换,因为我无法让 MSER 正常工作。

4

1 回答 1

1

尝试使用VideoCapture cap(-1)

这将自动选择网络摄像头设备。它可能会也可能不会解决问题,但值得一试。

于 2012-08-16T02:00:23.533 回答