2010-10-12 48 views
1

在我們的項目中,我們想以編程方式訪問網絡攝像頭圖像。 我們遇到的主要問題是網絡攝像機根據拍攝圖像的亮度自動調整靈敏度。網絡攝像頭:以編程方式調整攝像頭參數

是否有任何(平臺無關)的方式來改變這種類型的攝像頭參數(最好是任何型號)?

我們目前使用的是Ubuntu 10.04,Microsoft Windows XP & 7.編程語言是C/C++。

任何想法是讚賞。

感謝和問候 托比亞斯

回答

3

最有可能不會是你所需要的任何平臺獨立的方式。如果有的話,這可能是通過使用一些高級語言,這可能不適合。

我不知道Linux平臺,但我是一個C + +/Windows/COM/DirectShow開發人員誰在基於互聯網的視頻應用程序工作。

在Windows平臺上,捕獲設備通過COM和DirectShow進行通信。

有關Windows上的視頻捕獲的一般概述,請參閱MSDN的Video Capture部分。

查看Selecting a Capture Device以獲取有關如何枚舉系統上捕獲設備的信息。您需要枚舉CLSID_VideoInputDeviceCategory中的設備,以便(以編程方式)將網絡攝像頭作爲視頻輸入設備發現 - 此類別中可能有許多設備。

視頻捕捉設備有一個「友好名稱」來幫助識別您的網絡攝像頭,您可以存儲和檢索設備供以後使用。

一旦你有了設備,你的查詢就表示你想配置設備。看看這個Configuring a Video Capture Device

DirectShow是微軟最全面(也是最困難)的API之一。 The MSDN developer forum on DirectShow非常活躍,初學者友好,我強烈建議你檢查一下。最後,捕獲圖並不是在DirectShow中構建的最簡單的東西,我會以一個簡單的回放圖開始 - 例如,從磁盤迴放媒體文件並從那裏進行捕獲圖形。

VLC project是開源和跨平臺,它使用DirectShow在Windows平臺上播放。

祝你好運!

+0

接受。你好自由落體。感謝您的回覆。認爲我們應該找到一種方法來做到這一點。但VLC的提示可以解決我們的問題。謝謝。 – Atmocreations 2010-10-14 19:26:52