我正在使用 OpenCV 2.3 从只有一个 USB 集线器的 Linux 计算机(Ubuntu 10.04)上的两个网络摄像头捕获视频。当第一次为第二台摄像机调用 cv.QueryFrame 并在后续调用中调用“vidioc_qbuf:无效参数”时,我收到错误“videoc_streamon:设备上没有剩余空间”。
我知道这是一个 USB 带宽问题,所以我尝试使用 cv.SetCaptureProperty 将分辨率降低到 320 x 240,这似乎没有改变任何东西(通过调用 cv.GetCaptureProperty 确认)。
我需要一些方法来降低相机使用的带宽,以便我可以同时从它们获取帧。它用于立体视觉应用程序,所以我希望大约在同一时间抓取帧。