我正在努力在OpenCV中连接我的网络摄像头。我的笔记本电脑在 Windows 7 64 位中的网络摄像头工作正常。但是如果我连接另一个网络摄像头,代码根本不起作用:
capWebcam = cvCaptureFromCAM(0);
if(capWebcam == NULL) {
printf("error: capture is NULL \n");
getchar();
return(-1);
}
由于没有任何网络摄像头,因此它返回消息错误。我禁用了笔记本电脑的网络摄像头,它工作正常,但我得到了黑屏。
我尝试了两个网络摄像头,分别是罗技 HD Pro C920和微软的LifeCam Cinema。这是负责获取凸轮的行:
CvCapture* mycapWebcam = cvCaptureFromCAM(0);
我将 0 更改为另一个值 (0-10),这是有关此结构的信息:
CvCapture* cvCaptureFromCAM(int index)
初始化从摄像机捕获视频。
参数: index - 要使用的相机的索引。如果只有一个摄像头,或者使用什么摄像头无关紧要,则可以通过 -1。
函数 cvCaptureFromCAM() 分配和初始化 CvCapture 结构,用于从摄像机读取视频流。目前在 Windows 上可以使用两种相机接口:Video for Windows (VFW) 和 Matrox Imaging Library (MIL);Linux 上的两个:V4L 和 FireWire (IEEE1394)。
要释放结构,请使用 ReleaseCapture。
我该如何解决这个问题?