2013-08-01 147 views
0

我只想知道它是否可以在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可以進行網絡攝像頭視頻捕獲。我對這個項目感興趣,作爲一種學習體驗。

在此先感謝!

回答

1

既然你顯然有點缺乏經驗,我會以高層次的方式給出答案。

要與某人或某事交談,您需要說一種通用語言,或者有一位翻譯。現在,有許多不同的USB設備,並且他們會說很多不同的語言,但是OpenCV可以充當許多人的翻譯人員。如果你不想使用它,你需要找到另一個翻譯器,或者可能學會說相機的母語。

第一個選項(另一個譯者)對你沒有選擇權,因爲你不需要想要譯員。

第二個選項是我們無法幫助您的,因爲我們不知道您擁有哪個相機。

+0

從我的閱讀中,可以通過微軟的DirectShow訪問來自不同製造商的大量相機。因此,我想知道是否有某種標準可以用來「說出相機的母語」?我從用於電氣測試的GPIB設備的角度思考了這一點。即使在不同的製造商中,這些儀器也經常使用SCPI命令。我希望在攝像頭的世界裏可能會有類似的東西。 – kfd182

+0

所以,我已經做了一些更多的互聯網搜索。 Logitech和National Instruments的網站都暗示,沒有通用的usb攝像頭標準協議可直接與相機進行通信。 http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/USB-web-cam-communication/td-p/127534 因此,對於Windows來說,使用DirectShow似乎是低級別的儘可能(不是攝像頭製造商的開發人員)。 – kfd182

相關問題