簡體   English   中英

是否可以在Windows 10上禁用網絡攝像頭的自動對焦?

[英]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上,我嘗試過:

  1. 適用於Python的非正式非官方OpenCV軟件包:opencv-contrib-python https://pypi.org/project/opencv-contrib-python/

  2. 使用MSMF,VFW,DSHOW后端從源opencv 3.4.3構建。 使用VFW,我根本無法打開視頻捕獲

  3. 使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM