Использование стандартной веб-камеры USB

  1. Установить fswebcam
  2. Добавить пользователя в группу видео
  3. Основное использование
  4. Укажите разрешение
  5. Укажите без баннера
  6. Плохие картинки
  7. Bash скрипт
  8. Замедленная съемка с использованием cron
  9. Другие полезные инструменты

Вместо того, чтобы использовать Raspberry Pi модуль камеры Вы можете использовать стандартную веб-камеру USB для съемки фотографий и видео на Raspberry Pi.

Обратите внимание, что качество и конфигурируемость модуля камеры значительно превосходит стандартную веб-камеру USB.

Установить fswebcam

Сначала установите пакет fswebcam:

sudo apt-get установить fswebcam

Добавить пользователя в группу видео

Если вы не используете учетную запись пользователя по умолчанию, вам нужно добавить свое имя пользователя в группу видео, в противном случае вы увидите ошибки «Отказано в доступе».

sudo usermod -a -G video <имя пользователя>

Чтобы проверить, что пользователь был добавлен в группу правильно, используйте команду groups.

Основное использование

Введите команду fswebcam, а затем имя файла, и изображение будет снято с помощью веб-камеры и сохранено в указанном имени файла:

fswebcam image.jpg

Эта команда покажет следующую информацию:

--- Открытие / dev / video0 ... Попытка исходного модуля v4l2 ... / dev / video0 открыта. Вход не был указан, используя первый. Регулировка разрешения от 384х288 до 352х288. --- Захват кадра ... Поврежденные данные JPEG: 2 посторонних байта перед маркером 0xd4 Захваченный кадр за 0,00 секунды. --- Обработка захваченного изображения ... Запись изображения JPEG в файл 'image.jpg'.

jpg'

Обратите внимание на небольшое используемое разрешение по умолчанию и наличие баннера с отметкой времени.

Укажите разрешение

Веб-камера, используемая в этом примере, имеет разрешение 1280 x 720, поэтому, чтобы указать разрешение, с которым я хочу сделать снимок, используйте флаг -r:

fswebcam -r 1280x720 image2.jpg

Эта команда покажет следующую информацию:

--- Открытие / dev / video0 ... Попытка исходного модуля v4l2 ... / dev / video0 открыта. Вход не был указан, используя первый. --- Захват кадра ... Поврежденные данные JPEG: 1 посторонний байт перед маркером 0xd5 Захваченный кадр за 0,00 секунды. --- Обработка захваченного изображения ... Запись изображения JPEG в 'image2.jpg'.

jpg'

Снимок сделан в полном разрешении с веб-камеры и присутствует баннер.

Укажите без баннера

Теперь добавьте флаг --no-banner:

fswebcam -r 1280x720 --no-banner image3.jpg

который показывает следующую информацию:

--- Открытие / dev / video0 ... Попытка исходного модуля v4l2 ... / dev / video0 открыта. Вход не был указан, используя первый. --- Захват кадра ... Поврежденные данные JPEG: 2 посторонних байта перед маркером 0xd6 Захваченный кадр за 0,00 секунды. --- Обработка захваченного изображения ... Отключение баннера. Запись изображения в формате JPEG в «image3.jpg».

jpg»

Теперь фотография сделана в полном разрешении без баннера.

Плохие картинки

Вы можете получить изображения низкого качества с веб-камерой USB, например, это случайно выполненное художественное произведение:

Некоторые веб-камеры более надежны, чем другие, но проблема такого рода может возникать с веб-камерами низкого качества. Если проблема сохраняется, убедитесь, что ваша система до настоящего времени , Также попробуйте другие веб-камеры, но вы получите лучшую производительность от Raspberry Pi модуль камеры ,

Bash скрипт

Вы можете написать сценарий Bash, который делает снимок с помощью веб-камеры. Сценарий ниже сохраняет изображения в каталоге / home / pi / webcam, поэтому сначала создайте подкаталог webcam с помощью:

mkdir вебкамера

Чтобы создать скрипт, откройте ваш редактор по выбору и напишите следующий пример кода:

#! / bin / bash DATE = $ (дата + "% Y-% m-% d_% H% M") fswebcam -r 1280x720 --no-banner /home/pi/webcam/$DATE.jpg

Этот скрипт сделает снимок и назовет файл с отметкой времени. Скажем, мы сохранили его как webcam.sh, сначала сделаем файл исполняемым:

chmod + x webcam.sh

Затем запустите с:

./webcam.sh

Который будет запускать команды в файле и выдавать обычный вывод:

--- Открытие / dev / video0 ... Попытка исходного модуля v4l2 ... / dev / video0 открыта. Вход не был указан, используя первый. --- Захват кадра ... Поврежденные данные JPEG: 2 посторонних байта перед маркером 0xd6 Захваченный кадр за 0,00 секунды. --- Обработка захваченного изображения ... Отключение баннера. Запись изображения в формате JPEG в '/home/pi/webcam/2013-06-07_2338.jpg'.

Замедленная съемка с использованием cron

Вы можете использовать cron для планирования съемки с заданным интервалом, например, каждую минуту, чтобы сделать интервальный снимок.

Сначала откройте таблицу cron для редактирования:

crontab -e

Это либо спросит, какой редактор вы хотели бы использовать, либо откройте в редакторе по умолчанию. После того, как вы откроете файл в редакторе, добавьте следующую строку, чтобы запланировать съемку каждую минуту (см. Скрипт Bash сверху):

* * * * * /home/pi/webcam.sh 2> & 1

Сохраните и выйдите, и вы должны увидеть сообщение:

crontab: установка нового crontab

Убедитесь, что ваш сценарий не сохраняет все снимки, сделанные с тем же именем файла. Это будет перезаписывать картинку каждый раз.

Другие полезные инструменты

Доступны и другие инструменты, которые могут пригодиться при использовании камеры или веб-камеры:

  • SSH
    • Используйте SSH для удаленного доступа к Raspberry Pi через вашу локальную сеть
  • SCP
    • Скопируйте файлы через SSH, чтобы получить копии фотографий, снятых на Pi на вашем главном компьютере.
  • Rsync
    • Используйте rsync для синхронизации папки снимков, сделанных в папке между вашим Pi, на ваш компьютер
  • хрон
    • Используйте cron для планирования съемки с заданным интервалом, например, каждую минуту, чтобы сделать интервал