Веб-камера Logitech - сброс фокуса

Я хочу снимать изображения с веб-камеры Logitech C910 с интервалами. Проблема в том, что после того, как сделан снимок, камера сбрасывает фокус , делая следующий снимок не сфокусированным.

Я использую v4l2-ctl для настройки фокуса.

$v4l2-ctl --device=/dev/video1 --set-ctrl=focus_auto=0
$v4l2-ctl --device=/dev/video1 --set-ctrl=focus_absolute=119

Это мой скрипт для автоматизации захвата.

#!/bin/bash
while true; do
  ffmpeg -f v4l2 -i /dev/video1 -vframes 1 $(date '+%Y%m%d%H%M%S')
  sleep 60
done

Я попытался использовать fswebcam и streamer вместо ffmpeg с тем же результатом. Фокус сбрасывается каждый раз, когда делается снимок.

Воспроизведение видео с веб-камеры с помощью $mpv /dev/video1 также сбрасывает фокус после закрытия проигрывателя.

При проверке текущих значений с использованием v4l2-ctl --list-ctrls значение focus_absolute не изменяется после съемки первого и второго снимка. Но вывод второго не сфокусирован.

$v4l2-ctl -d /dev/video1 --list-ctrls
...
focus_absolute 0x009a090a (int) : min=0 max=255 step=17 default=68 value=119
focus_auto 0x009a090c (bool)    : default=1 value=0

Установка фокуса на 119, создание первого снимка, установка фокуса снова на 119 и создание второго снимка также приводит к тому, что второе изображение не сфокусировано. Однако, если после первого снимка я изменил фокусировку на другое значение, а затем вернулся к 119, оба изображения сфокусировались.

#!/bin/bash
# Set Manual Focus
v4l2-ctl --device=/dev/video1 --set-ctrl=focus_auto=0
# Infinite Loop
while true; do
  # Reset Focus
  v4l2-ctl --device=/dev/video1 --set-ctrl=focus_absolute=136
  v4l2-ctl --device=/dev/video1 --set-ctrl=focus_absolute=119
  # Save Image
  ffmpeg -f v4l2 -i /dev/video1 -vframes 1 $(date '+%Y%m%d%H%M%S')
  # Wait
  sleep 60
done

... так что это мой текущий рабочий скрипт, который сохраняет сфокусированное изображение, снятое с моей веб-камеры каждые 60 секунд. НО , каждый раз, когда делается снимок, объектив камеры перемещается, и механика даже издает странный щелкающий шум. Поскольку я хочу использовать это для создания длительных интервалов с тысячами снимков в день, я могу представить, что это приведет к чрезмерному износу камеры с течением времени. Поэтому я все еще ищу разные способы сделать это. ПРИМЕЧАНИЕ. Когда я не выполняю перефокусировку, шум щелчка отсутствует.

Поскольку сброс фокуса происходит каждый раз, когда захват с камеры останавливается (и светодиод камеры гаснет). Как я мог держать поток с камеры открытым и сохранять изображение из этого потока через определенные промежутки времени? Есть ли какие-либо другие способы, которыми я мог бы попытаться удержать камеру от сброса фокуса после окончания потока?

// Надеюсь, я не сделал вопрос слишком обширным.

1
задан 2 November 2018 в 21:04

0 ответов

Другие вопросы по тегам:

Похожие вопросы: