我正在使用OpenCV 2.3从
Linux计算机(Ubuntu 10.04)上的两个网络摄像头捕获视频,该计算机只有一个USB集线器.当第一次为第二个摄像头调用cv.QueryFrame而后续调用时调用“vidioc_qbuf:invalid argument”时,我收到错误“videoc_streamon:设备上没有剩余空间”.
我知道这是USB带宽问题,因此我尝试使用cv.SetCaptureProperty将分辨率降低到320 x 240,这似乎没有任何改变(通过调用cv.GetCaptureProperty确认).
我需要的是一些降低相机使用带宽的方法,以便我可以同时从中获取帧.这是一个立体视觉应用程序,所以我希望大约在同一时间抓取框架.
不幸的是,我认为没有办法通过代码降低带宽.我最近参与了一个视觉项目,我们在一台电脑上使用了4个网络摄像头.我们不得不购买PCI usb卡以获得更多USB带宽来运行相机.
原文链接:https://www.f2er.com/ubuntu/347553.html