我正在使用OpenCV 2.3从Linux计算机(Ubuntu 10.04)上的两个摄像头捕获video,该计算机只有一个USB集线器。 我第一次为cv.QueryFrame调用第二台摄像机时出现“videoc_streamon:设备上没有剩余空间”的错误,后续调用时出现“vidioc_qbuf:invalid argument”。
我知道这是一个USB带宽问题,所以我试图降低分辨率为320 x 240与cv.SetCaptureProperty,似乎并没有改变任何东西(通过调用cv.GetCaptureProperty确认)。
我需要的是一些降低相机使用带宽的方法,以便我可以同时从中获取相框。 这是一个立体视觉应用程序,所以我想大约在同一时间抓住框架。
不幸的是,我不认为有一种方法可以通过代码降低带宽。 我最近在一个计算机上使用了4个摄像头的视觉项目。 我们必须购买PCI usb卡才能获得更多的USB带宽来运行相机。