Сфотографировать с терминала

Я хочу иметь возможность делать снимки с помощью веб-камеры из терминала. Это изображение затем будет сохранено в файл. Как это может быть сделано?

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Захваченный кадр будет очень темным.

Вы также можете попробовать uvccapture.

uvccapture -m
Другие вопросы по тегам