【问题标题】:OpenCV and connecting a webcam?OpenCV 和连接网络摄像头?
【发布时间】:2012-12-20 15:44:31
【问题描述】:

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

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

由于没有任何网络摄像头,它返回消息错误。我禁用了笔记本电脑的网络摄像头,它工作正常,但我得到了黑屏。

我尝试了两个网络摄像头,即来自 Microsoft 的 Logitech HD Pro C920LifeCam Cinema。这是负责获取 cam 的行:

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。

我该如何解决这个问题?

【问题讨论】:

  • 您确定网络摄像头正常打开吗?我的意思是,您需要禁用笔记本电脑的网络摄像头,对吗?
  • 感谢您的回复。是的,我确定网络摄像头可以正常工作,您所说的禁用笔记本电脑网络摄像头是什么意思?我该怎么做?
  • 如果你使用windows,你会在“成像设备”的“设备管理器”中找到笔记本电脑的USB摄像头,然后右键单击并禁用它,我之前遇到过这个问题,它对我有用跨度>
  • 再次感谢您。网络摄像头工作,但我得到黑屏。你知道为什么吗?
  • 我解决了这个问题。我确实按照另一个教程来设置我的 OpenCV,并且它有效。

标签: opencv webcam


【解决方案1】:

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

capWebcam = cvCaptureFromCAM(1);

【讨论】:

    【解决方案2】:

    尝试使用不同的 API - 查看 my answer to Stack Overflow question OpenCV on Mac is not opening USB web camera

    第一帧通常是黑色的(我不知道为什么)。尝试等待一段时间再获取另一帧。

    【讨论】:

      猜你喜欢
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多