我有一个在vlc中运行良好的网络摄像头,可用作/ dev / video0。但是,每当我使用cvCreateCameraCapture时,它都会返回null。我使用0,1,-1作为索引。可能导致问题的原因是什么?我使用openCV 2.1.0.1 ppa在Ubuntu 9.10 BTW上。
答案 0 :(得分:2)
我在Ubuntu 9.04上使用OpenCV 2.1,这很好用:
CvCapture* capture = NULL;
if ((capture = cvCaptureFromCAM(-1)) == NULL)
{
std::cerr << "!!! ERROR: cvCaptureFromCAM No camera found\n";
return -1;
}
请注意,我使用 cvCaptureFromCAM()而不是 cvCreateCameraCapture()。
答案 1 :(得分:1)
我也在Ubuntu上使用过OpenCV(但是来自标准的回购)。我遇到了非常类似的问题,我找到的解决方案是从源代码编译OpenCV。我激活了--with-v4l选项并且它工作正常(您可能还需要一些其他标志,具体取决于您的需要)。如果您自己编译OpenCV,请使用CMake。还有用于“正常”制作的makefile,但它们已经过时了。