2011-07-12 28 views
3

我使用OpenCV 2.3從只有一個USB集線器的Linux計算機(Ubuntu 10.04)上的兩個攝像頭捕獲視頻。當第一次調用第二臺攝像機的cv.QueryFrame和後續調用的「vidioc_qbuf:invalid argument」時,我收到一個錯誤「videoc_streamon:設備上沒有剩餘空間」。一個usb集線器上的兩個網絡攝像頭 - 帶寬問題

我知道這是一個USB帶寬問題,所以我嘗試將cv.SetCaptureProperty的分辨率降低到320 x 240,這似乎沒有改變任何東西(通過調用cv.GetCaptureProperty確認)。

我需要的是一些降低攝像機使用帶寬的方法,這樣我就可以同時從它們中獲取幀。它適用於立體視覺應用程序,所以我希望在大約同一時間抓取幀。

+0

我有同樣的問題。你有沒有找到解決辦法? 您是否確認這是帶寬問題? 即使我在後續調用cvGrabFrame() – Ferguzz

回答

2

不幸的是我不認爲有一種方法可以通過代碼降低帶寬。我最近在一個計算機上使用了4個攝像頭的視覺項目。我們必須購買PCI usb卡才能獲得更多USB帶寬來運行相機。

+0

之間留下很大的空白(500毫秒),我也有同樣的問題我有一組12個USB圖像源的相似經歷。遺憾的是我還沒有找到解決方案。 – ExpatEgghead