Сфотографировать с терминала
Я хочу иметь возможность делать снимки с помощью веб-камеры из терминала. Это изображение затем будет сохранено в файл. Как это может быть сделано?
4 ответа
Если вы ищете что-то автоматизированное webcam
довольно прилично. У этого есть много прекрасных вариантов для того, чтобы выдвинуть фотографии через Интернет.
Если вы хотите что-то более ручное, и мы говорим о камере, поддерживаемой V4L/UVC (большинство из них), вы можете использовать streamer
захватить кадр с устройства:
streamer -f jpeg -o image.jpeg
Есть еще одно приложение, которое можно использовать для захвата изображений с веб-камеры, которое называется Fswebcam. Вы можете установить это с
sudo apt-get install fswebcam
Вы можете сделать пробный снимок с помощью следующей команды.
fswebcam -r 640x480 --jpeg 85 -D 1 web-cam-shot.jpg
В приведенном выше синтаксисе кода, -r
обозначает разрешение изображения, --jpeg
обозначать тип формата изображения и 85
за его стандарт качества, -D
обозначает задержку, установленную перед захватом.
Теперь ваше изображение наконец сохранено с именем web-cam-shot.jpg.
Надеюсь, это поможет.
С помощью avconv
или же ffmpeg
, вы можете захватить кадр с вашего устройства. Например:
avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg
или же
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg
Это откроет /dev/video0
как video4linux2
совместимое устройство, настройте разрешение на 640x480
, поток в течение 2 секунд (00:00:02
или просто 2
), затем захватить one
один кадр, сохраняя его в /tmp/out.jpg
,
Проверьте, если ваше устройство /dev/video0
, как это может быть по-другому для вас.
Доступные разрешения зависят от вашей веб-камеры. У меня доходит до 640x480, и я проверил это с помощью инструмента под названием qv4l2
, который используется для настройки устройства video4linux2.
-ss
Параметр используется для правильного запуска устройства. Здесь, в моих тестах, эффект затухания при включении камеры, так что, если я просто опущу -ss 2
Захваченный кадр будет очень темным.