3

我正在使用 OpenCV 2.3 从只有一个 USB 集线器的 Linux 计算机(Ubuntu 10.04)上的两个网络摄像头捕获视频。当第一次为第二台摄像机调用 cv.QueryFrame 并在后续调用中调用“vidioc_qbuf:无效参数”时,我收到错误“videoc_streamon:设备上没有剩余空间”。

我知道这是一个 USB 带宽问题,所以我尝试使用 cv.SetCaptureProperty 将分辨率降低到 320 x 240,这似乎没有改变任何东西(通过调用 cv.GetCaptureProperty 确认)。

我需要一些方法来降低相机使用的带宽,以便我可以同时从它们获取帧。它用于立体视觉应用程序,所以我希望大约在同一时间抓取帧。

4

1 回答 1

2

不幸的是,我认为没有办法通过代码降低带宽。我最近参与了一个视觉项目,我们在一台计算机上使用了 4 个网络摄像头。我们不得不购买 PCI USB 卡以获得更多的 USB 带宽来运行相机。

于 2011-09-23T20:48:29.453 回答