2012-08-12 158 views
1

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

这是代码我一直在努力于:

#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正常工作。

+0

嗨,我测试了你的代码,因为它是工作正常,我没有发现任何问题....我相信,从opencv没有问题..只是尝试与另一个网络摄像头...主要它应该工作.... – G453 2012-08-12 10:19:19

回答

1

尝试使用VideoCapture cap(-1)

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