Я работаю в украшенной системе в beagleboard. Исходный код находится в Python, но я импортирую библиотеки из OpenCV для обработки изображений. На самом деле, я использую веб-камеру Logitech c910, это отличная камера, но у нее есть автофокус. Я хотел бы узнать, могу ли я отключить автофокус с Python или любой программы в Linux?
Отключить веб-камеру Autofocus в Linux
Ответ 1
Используйте программу v4l2-ctl
из вашей оболочки для управления настройками оборудования на вашей веб-камере. Чтобы отключить автофокус, просто сделайте:
v4l2-ctl -c focus_auto=0
Вы можете перечислить все возможные элементы управления с помощью:
v4l2-ctl -l
По умолчанию для команд используется ваше первое устройство Video4Linux, т.е. /dev/video0
. Если у вас подключено более одной веб-камеры, используйте переключатель -d
для выбора целевого устройства.
Установка v4l-utils
Самый простой способ установить утилиту - использовать менеджер пакетов, например в Ubuntu или других системах на основе Debian попробуйте:
apt-get install v4l-utils
или в Fedora, CentOS и других дистрибутивах на основе RPM:
yum install v4l-utils
Ответ 2
Вы также можете сделать это в Linux с помощью:
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_AUTOFOCUS, 0)
Для некоторых это не работает в Windows (см. Отключение автофокуса веб-камеры в Windows с помощью opencv-python). В моей системе это происходит (Ubuntu 14.04, V4L 2.0.2, opencv 3.4.3, logitech c922).