Я работаю с python opencv и не могу отключить автофокус, автоэкспозицию и т. Д. На windows 10.
Я использую веб-камеру Logitech BRIO 4k.
На Ubuntu 18.04 все отлично работает. С Opencv 3.4.4, использующим бэкэнд v4l, я могу успешно установить фокус, экспозицию и разрешение видео. Однако тот же код не работает на Windows
на окнах, которые я пробовал:
Неофициальные предварительно собранные пакеты OpenCV для Python: opencv-contrib-python https://pypi.org/project/opencv-contrib-python/
сборка из исходного кода opencv 3.4.3 с бэкэндами MSMF, VFW, DSHOW.
С VFW я вообще не могу открыть захват видео
сборка из исходного кода opencv 4.1 с MSMF, бэкэнды DSHOW
в каждом случае, указанном выше (кроме бэкэнда 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, я считаю, что проблема в видеообработке. Можете ли вы предложить какой-нибудь другой бэкэнд или, возможно, аналог v4l для Windows, который поддерживает opencv.