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