我有兩個線程和兩個線程:一個在我的GUI中顯示攝像頭幀,一個在同一個攝像頭上錄製視頻。 我在每個班級中使用不同的cv::VideoCapture
來訪問我的攝像頭。我的MainWindow和Recorder類的兩個構造器都有theWebcam.open(INDEX)
行來打開攝像頭。我的問題是,當程序嘗試打開第二個cv::VideoCapture
對象時,大約50%的時間開始崩潰。我如何在兩個班級中使用相同的攝像頭?cv :: VideoCapture:從兩個線程訪問相同的攝像頭
-2
A
回答
0
據我所知這是不可能的(但從來沒有自己試過)。我更喜歡以下方法:
一個線程與攝像機「通信」,即抓取圖像,並將一個副本發送到線程寫入文件,並將一個副本發送到GUI以顯示實時圖像。此外,只要相機不支持多播(假設它是一臺ip-camera),幀速率很可能會下降。
1
我已經用羅伯特所描述的技術取得了成功。我使用指針將圖像傳遞到不同的線程,並讓主線程創建我需要的所有VideoCapture對象以及namedWindow對象。我現在說的是我的專業領域之外,但我的經驗表明,除了主線程之外,不能在任何線程中創建來自OpenCV的VideoCapture和namedWindow對象,而必須轉到輔助線程中。
相關問題
- 1. 如何通過打開的cv從IP攝像頭訪問無線攝像頭?
- 2. getUserMedia - 無法同時從兩個瀏覽器訪問攝像頭
- 3. 從uiwebview訪問攝像頭?
- 4. 同時從多個應用程序訪問網絡攝像頭
- 5. 訪問攝像頭
- 6. VideoCapture dosnt從網絡攝像頭讀取openCV2.4.0 linux
- 7. 在線訪問攝像頭實例
- 8. iPhone:從Web應用程序訪問攝像頭和相冊
- 9. 從pyside/opencv訪問攝像頭
- 10. OpenCV的VideoCapture不能從我的攝像頭在所有
- 11. IP攝像頭通過打開cv訪問
- 12. 如何同時訪問雙攝像頭?
- 13. 水豚從兩個線程訪問相同的會話
- 14. 訪問多個攝像頭的JavaScript getusermedia
- 15. 多個按鈕的訪問攝像頭
- 16. 攝像頭相關問題
- 17. HTML5:攝像頭訪問
- 18. 訪問攝像頭失敗
- 19. HTML5 - 訪問攝像頭
- 20. IPhone SDK:攝像頭訪問?
- 21. 訪問IP攝像頭流
- 22. 如何從HTML5訪問攝像頭?
- 23. 如何從Webview中訪問攝像頭?
- 24. iphone如何從UIWebView訪問攝像頭?
- 25. iPhone兩個攝像頭同時
- 26. Opencv兩個攝像頭源
- 27. 兩個線程訪問同一個LinkedList
- 28. 管理攝像頭 - 無法訪問攝像頭
- 29. 作爲網絡攝像頭訪問手機攝像頭C++
- 30. EMGU CV攝像頭捕獲WPF?
我正在使用USB網絡攝像機。我不明白爲什麼它不可能。如果我將Detector註釋掉並讓MainWindow顯示來自網絡攝像頭的視頻源,我可以運行該程序的10個實例,並且它們都將顯示來自同一個攝像頭的相同視頻,而不會有任何問題。如果顯然可以多次訪問網絡攝像機,爲什麼不能在同一個程序中使用同一個網絡攝像頭兩次? – testus 2014-11-14 16:22:16
取決於OpenCV如何照顧相機手柄。我知道其他庫在內部存儲句柄列表並僅保留每個句柄的「實例」,因此當從不同線程訪問時會導致問題/訪問衝突等。但我認爲你應該考慮我的建議,只使用一個攝像頭連接並分發所拍攝圖像的副本...... – Robert 2014-11-14 16:26:23