在Windows10上可以禁用网络摄像头的自动对焦吗?

2024-09-30 01:25:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python opencv,无法在windows10上禁用自动对焦、自动曝光等功能。在

使用4ko网络摄像头。在

在Ubuntu18.04上一切正常。通过使用v4l后端的opencv3.4.4,我能够成功地设置焦点、曝光、视频分辨率。但是同样的代码在windows上不起作用

在windows上我尝试过:

  1. Python的非官方预构建OpenCV包:OpenCV contrib Pythonhttps://pypi.org/project/opencv-contrib-python/

  2. 使用MSMF、VFW、DSHOW后端从opencv3.4.3源代码构建。 使用VFW,我根本无法打开视频捕获

  3. 使用MSMF、DSHOW后端的opencv 4.1源代码构建

在以上每种情况下(除了VFW后端),我可以使用opencv功能,从网络摄像头读取和显示帧,但不能禁用自动对焦。在

我从官方opencvgithub repohttps://github.com/opencv/opencv/blob/master/samples/python/video_v4l2.py使用的代码

我像这样创建视频捕获来指定后端VideoCapture(0 + BACKEND_ID),后端的ID是从这里获取的 https://docs.opencv.org/3.4.3/d4/d15/group__videoio__flags__base.html

环境变量OPENCV_VIDEOIO_DEBUG=True 确认我使用特定的后端

同一主题的问题没有答案Disable webcam's autofocus in Windows using opencv-python

cap.set( cv.CAP_PROP_SETTINGS, 1 ); windows和linux不能同时工作

由于代码可以在linux上运行,我认为问题出在videoio后端。你能推荐一些其他的后端或者是在windows上的v4l模拟版,opencv支持吗。在


Tags: 代码org功能网络视频源代码windowscontrib

热门问题