我正在做一个计算机视觉项目,我需要使用 opencv 库使用两个摄像头。我尝试了此代码,但是使用来自 USB 端口的两个网络摄像头,如果我使用一个 USB 摄像头和我电脑的摄像头,它就无法工作。

CvCapture* capture[2];

capture[0] = cvCreateCameraCapture(0);
capture[1] = cvCreateCameraCapture(1);

if(!capture[0] && !capture[1])
    printf("Webcam error\n");

我正在 acer aspire 5742g 上使用 windows 7。是我电脑总线的问题吗?相机是 2 台飞利浦 SPZ2000。
我还尝试处理其中一个人和我电脑上的相机拍摄的照片,当我使用 Bradsky 的“Learning opencv”一书中的校准和纠正代码时,我得到了一个糟糕的结果。有人可以帮助我吗?
先感谢您,

萨拉

最佳答案

2 个以上的 USB 摄像头不能一起工作(它们仍然可以单独工作)的典型原因是 USB 带宽不足以让它们同时运行。有一个相当低的带宽限制: The maximum throughput of an isochronous pipe (which is usually used for video) is 24MB/s

关于这个问题的更多信息:

  • Implications of using many USB web cameras
  • How many USB cameras can be accessed by one PC
  • Not able to capture video using 2 webcamera simulteneously
  • Two webcams on one usb hub - bandwidth issues
  • 关于opencv - 2 个 USB 摄像头不适用于 opencv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11222813/

    10-15 08:01