[英]Is it possible to disable autofocus of a webcam on Windows 10?
我正在使用python opencv,並且無法在Windows 10上禁用自動對焦,自動曝光等功能。
我正在使用Logitech BRIO 4k網絡攝像頭。
一切都能在Ubuntu 18.04上完美運行。 使用使用v4l后端的Opencv 3.4.4,我可以成功設置焦點,曝光度和視頻分辨率。 但是相同的代碼在Windows上不起作用
在Windows上,我嘗試過:
適用於Python的非正式非官方OpenCV軟件包:opencv-contrib-python https://pypi.org/project/opencv-contrib-python/
使用MSMF,VFW,DSHOW后端從源opencv 3.4.3構建。 使用VFW,我根本無法打開視頻捕獲
使用MSMF,DSHOW后端從源opencv 4.1構建
在上述每種情況下(VFW后端除外),我都可以使用opencv功能,從網絡攝像頭讀取和顯示幀,但不能禁用自動對焦。
我從官方opencv GitHub存儲庫中使用的代碼https://github.com/opencv/opencv/blob/master/samples/python/video_v4l2.py
我像這樣創建視頻捕獲,以指定后端VideoCapture(0 + BACKEND_ID)
,其中從此處獲取BACKEND_ID https://docs.opencv.org/3.4.3/d4/d15/group__videoio__flags__base.html
環境變量OPENCV_VIDEOIO_DEBUG=True
確認我使用了特定的后端
相同主題的問題沒有答案在Windows中使用opencv-python禁用網絡攝像頭的自動對焦
cap.set( cv.CAP_PROP_SETTINGS, 1 );
在Windows和Linux上均不起作用
由於代碼可以在linux上運行,因此我認為問題出在videoio后端。 您可以在opencv支持的Windows上建議其他后端或v4l模擬嗎?
忘了提,我當時使用虛擬盒在Windows上運行。 如果我直接在Windows機器上運行相同的代碼,則一切正常))虛擬框一定存在問題
唯一的區別是焦點值似乎在0-255的范圍內。 但在我上面提供的示例代碼中,它們的范圍是0-100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.