OpenCV和连接摄像头?

我在连接OpenCV中的网络摄像头时感到很困难。 我的笔记本电脑的Windows 7 64位网络摄像头正常工作。 但是如果我连接另一个摄像头,代码根本不起作用:

capWebcam = cvCaptureFromCAM(0); 
if(capWebcam == NULL) { 
    printf("error: capture is NULL n"); 
    getchar(); 
    return(-1);
}

由于没有任何摄像头,它会返回消息错误。 我禁用笔记本电脑摄像头,它的工作,但我越来越黑屏。

我尝试了两款网络摄像机,分别是微软的Logitech HD Pro C920和LifeCam Cinema。 这是负责获取凸轮的线路:

CvCapture* mycapWebcam = cvCaptureFromCAM(0);

我将0更改为另一个值(0-10),这是关于此结构的信息:

CvCapture * cvCaptureFromCAM(int index)

初始化从相机捕捉视频。

参数:index - 要使用的摄像机的索引。 如果只有一个摄像头,或者使用什么摄像头无关紧要,则可以通过-1。

函数cvCaptureFromCAM()分配并初始化CvCapture结构以从摄像头读取视频流。 目前在Windows上可以使用两个摄像头接口:Windows视频(VFW)和Matrox图像库(MIL); 和Linux上的两个:V4L和FireWire(IEEE1394)。

要释放结构,请使用ReleaseCapture。

我该如何解决这个问题?


尝试使用不同的API - 看看我的答案堆栈溢出问题Mac上的OpenCV不打开USB网络摄像头。

第一帧往往是黑色的(我不知道为什么)。 尝试等待一段时间,并获得另一帧。


如果您使用其他相机,则应将1设置为索引:

capWebcam = cvCaptureFromCAM(1);
链接地址: http://www.djcxy.com/p/35407.html

上一篇: OpenCV and connecting a webcam?

下一篇: draw box on avi video using openCV