Автоматическая настройка экспозиции v4l2-ctl не удалась
Я пытаюсь настроить веб-камеру C920 на качество изображения, используя v4l2-ctl
утилита на Ubuntu ПК. Я не могу установитьозависимость_авто в режим "Авто", но могу установить "Ручной режим" или "Режим приоритета диафрагмы". Есть какие-нибудь подсказки?
*lenovo@ubuntu:~$ v4l2-ctl -d /dev/video1 -c exposure_auto=0
VIDIOC_S_CTRL: failed: Input/output error
exposure_auto: Input/output error*
Ниже приведен дамп настроек C920, подключенного к моей Ubuntu:
- brightness (int) : min=0 max=255 step=1 default=128 value=128
- contrast (int) : min=0 max=255 step=1 default=128 value=128
- saturation (int) : min=0 max=255 step=1 default=128 value=128
- white_balance_temperature_auto (bool) : default=1 value=1
- gain (int) : min=0 max=255 step=1 default=0 value=0
- power_line_frequency (menu) : min=0 max=2 default=2 value=2
- white_balance_temperature (int) : min=2000 max=6500 step=1 default=4000 value=4000
- sharpness (int) : min=0 max=255 step=1 default=128 value=128
- backlight_compensation (int) : min=0 max=1 step=1 default=0 value=0
- exposure_auto (menu) : min=0 max=3 default=3 value=3 (0: Auto Mode 1: Manual Mode
2: Shutter Priority Mode
3: Aperture Priority Mode)
- exposure_absolute (int) : min=3 max=2047 step=1 default=250 value=250
- exposure_auto_priority (bool) : default=0 value=1
- focus_absolute (int) : min=0 max=250 step=5 default=0 value=0
- focus_auto (bool) : default=1 value=1
- zoom_absolute (int) : min=100 max=500 step=1 default=100 value=100
3 ответа
Это обычно происходит, когда вы пытаетесь вручную установить настройку, которая в настоящее время управляется каким-либо другим автоматическим. Попробуйте переключить '' extension_auto_priority '', чтобы увидеть, не теряет ли это хватку автоматического алгоритма для этого конкретного параметра.
Для меня, например, установка ''white_balance_tempera_auto '' в 0 позволила мне вручную установить ''white_balance_temperam '', что раньше приводило к "fail: Input/output error".
С помощью
v4l2-ctl -d /dev/video1 -c exposure_auto=1
вместо exposure_auto = 0
, вы можете установить экспозицию вручную, а затем установить exposure_absolute
изменить значение.
Привет, легко узнать, какие параметры принимает ваша камера, с помощью uvcdynctrl
sudo apt install uvcdynctrl
Чтобы получить список всех поддерживаемых команд, введите:
uvcdynctrl -c -v
-c даст вам список всех доступных настроек
-v означает подробный, что дает вам диапазон допустимых значений
моя Microsoft Lifecam даст мне этот вывод:
Brightness
ID : 0x00000001,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 30 .. 255, step size: 1 ],
Default : 133
Contrast
ID : 0x00000002,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 10, step size: 1 ],
Default : 5
Saturation
ID : 0x00000004,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 200, step size: 1 ],
Default : 83
.. и так далее.
Затем вы можете получить фактическое значение с помощью
uvcdynctrl -g 'Exposure, Auto'
или установите значение с помощью
uvcdynctrl -s 'Exposure, Auto' 1