我只想知道它是否可以在Windows上使用C++編寫程序,該程序可以通過利用USB庫(如libusb)從網絡攝像頭抓取視頻幀。我已看過http://www.dreamincode.net/forums/topic/148707-introduction-to-using-libusb-10/。它們定義了在使用libusb與USB設備一起使用時必須遵循的步驟的基本順序。總結:使用C++和USB庫從USB攝像頭捕獲視頻
1)查找並連接到USB設備
2)發送和接收數據
3)鬆開USB設備
libusb的手柄部分1)和3)。所以,這個問題歸結到第2部分)。我想知道是否有可能/通過堅持某種類型的標準(例如UVC 1.5)將命令發送到相機並通過USB接收數據。我在想,不知道一些專有的,特定於設備的信息可能是一個問題。
如果這是可能的,但超級艱難,我將不勝感激任何洞察最大的挑戰是什麼。
我想到的硬件是低端Logitech USB攝像頭。另外,我完全知道OpenCV,Windows視頻(VFW),DirectShow和FFMPEG可以進行網絡攝像頭視頻捕獲。我對這個項目感興趣,作爲一種學習體驗。
在此先感謝!
從我的閱讀中,可以通過微軟的DirectShow訪問來自不同製造商的大量相機。因此,我想知道是否有某種標準可以用來「說出相機的母語」?我從用於電氣測試的GPIB設備的角度思考了這一點。即使在不同的製造商中,這些儀器也經常使用SCPI命令。我希望在攝像頭的世界裏可能會有類似的東西。 – kfd182
所以,我已經做了一些更多的互聯網搜索。 Logitech和National Instruments的網站都暗示,沒有通用的usb攝像頭標準協議可直接與相機進行通信。 http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/USB-web-cam-communication/td-p/127534 因此,對於Windows來說,使用DirectShow似乎是低級別的儘可能(不是攝像頭製造商的開發人員)。 – kfd182