[英]How do I get a list of webcam devices using opencv?
我正在使用OpenCV2.2和videoInput。 我想升級到OpenCV2.3.1,其中videoInput顯然已合並到OpenCV2.3中。
我的問題是似乎沒有listdevices()函數來返回所有可用的視頻源。
有人知道新的等價物嗎?
正如你所說,自從2.3rc以來,videoinput已經在OpenCV中合並。
查看相關源視頻輸入似乎是在OpenCV更改日志指定的highgui中。 雖然你的OpenCV是否是在啟用它的情況下構建的,但是Cmake中的一個可配置選項(選項是WITH_VIDEOINPUT
並且還要求它是WIN32版本,請參見此處 )。
OpenCV在內部調用listdevices作為VI.listDevices()
CvCaptureCAM_DShow::open
實現中的VI.listDevices()
,並且videoInput類是CvCaptureCAM_DShow的受保護成員。
您可以使用獲取訪問列表設備功能
CvCapture* capture = cvCaptureFromCAM( CV_CAP_DSHOW );
capture->VI.listDevices();
我編寫了一個類,允許使用DirectShow接口和枚舉器枚舉所有設備。 雖然它只適用於Windows,但它允許您獲取“友好設備名稱”列表以及您需要創建的ID,例如VideoCapture對象。
代碼在這里:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.