我在C++(Visual Studio)開發我的一個程序時遇到了一點問題 - 現在我正在努力與多個網絡攝像頭連接(通過USB線連接),爲每個它們將線程分開以捕獲幀,並分離用於處理圖像的幀。我使用OpenCV來處理幀,但問題是,我沒有得到一個網絡攝像頭的可能性的高峯(它支持25幀,我只得到18)有一些庫,我可以用來獲取幀,比處理它們使用OpenCV可以更快地捕獲幀?從網絡攝像頭獲取幀的最快方法
我正在研究一下,最流行的方法是使用directshow來獲取幀和OpenCV來處理它們。
你同意嗎?或者你有另一種解決方案? 我不會被一些鏈接冒犯:)
非常感謝您提供的信息,我不想挑剔,但是您能否向我提供使用Directshow捕獲幀的示例代碼,而在C++中沒有任何不必要的過濾器? – user2058851 2013-02-12 17:30:02
最簡單的(不是最好的,但仍然是最簡單的!)就是製作一個這樣的鏈:'Capture Filter' - >'Sample Grabber Filter' - >'Null Renderer Filter'。所有這三個都是標準的,並且有很多示例代碼。第一個對應於一個攝像頭,你設置捕獲格式,第二個是你設置你的回調接收單個幀的位置。所有這一切都會讓你的代碼從相機的每一幀中調用。 – 2013-02-12 19:35:21
你可以看看VideoCapture.lib的src,這是opencv在這裏使用的:[https://github.com/ofTheo/videoInput/tree/master/videoInputSrcAndDemos/libs/videoInput] – berak 2013-02-12 19:39:03