Как сделать покадровую фотографию с помощью Raspberry Pi и DSLR или USB-камеры

  • Gabriel Brooks
  • 0
  • 4863
  • 63
Реклама

Наблюдайте за движением облаков или ростом рассады. Съемка с замедленной съемкой действительно может дать вам представление о том, как мир работает на макроскопическом уровне, за пределами чего-либо мыслимого для обычного человеческого опыта времени. Или другими словами: это может превратить наблюдение за высыханием краски в нечто весьма интересное. К сожалению, профессиональное оборудование для покадровой съемки с добавлением возможности вращения или перемещения камеры, например Genie, может стоить до 1000 долларов. Сегодня мы сделаем базовый замедленный контроллер без движения - для DSLR или веб-камеры USB - только с Raspberry Pi.

Обязательно ознакомьтесь со всеми другими нашими замечательными проектами Raspberry Pi.

DSLR

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

Начните с установки необходимого программного обеспечения:

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

GPhoto2 - это утилита командной строки для непосредственного взаимодействия с поддерживаемыми камерами DSLR (полный список здесь). Я использовал обзор Canon Rebel T4i / 650D Canon Rebel T4i dSLR и бесплатную раздачу Обзор Canon Rebel T4i dSLR и бесплатная раздача Canon только что выпустила свой новый Rebel T4i - свои первые (надеюсь, многие) приключения в мире сенсорных экранов DSLR. Эта камера является шагом вперед по сравнению с Canon Rebel T3i (и делает его третьим ... Теперь подключите камеру к Pi через USB.

Поскольку я использовал автоматические значения ISO и режим AV, настройка относительно проста, и мы можем захватывать серии, используя только командную строку - утилита включает встроенные параметры промежутка времени. Вот самая простая команда, которую вы можете использовать для проверки возможностей:

gphoto2 - захватить изображение и скачать

который передаст файл вашему Pi, или

gphoto2 --capture-image

сохранить изображение на камеру. При 8 МБ поп-музыки, возможно, лучше всего держать их на камере и выполнять съемку фильма по факту с ПК или Mac..

Важный: По умолчанию изображения сохраняются в SD-RAM, а не на карту памяти в камере. Это означает, что вы потеряете их всех (я говорю из опыта). Чтобы убедиться, что они действительно сохраняются, нам нужно сначала установить цель захвата:

gphoto2 --get-config / main / settings / capturetarget 

Посмотрите на список, который он выводит, и установите цель следующим образом, заменив 1 с тем, что указано в качестве вашей карты.

gphoto2 --set-config / main / settings / capturetarget = 1 

Чтобы сделать снимок в режиме покадровой съемки, добавьте -F а также указать общее количество кадры Вы хотите захватить, и время интервал между каждым. В этом примере выполняется захват каждые 30 секунд в общей сложности 1440 кадров, что при превращении в фильм с 24 кадрами в секунду будет равняться примерно минуте. Я не думаю, что батарея моей камеры будет так долго работать, но я посмотрю, сколько я получу.

gphoto2 - захват изображения -F 1440 -I 30 

Причуду помнить; после завершения команды камера может выключиться и перестать отвечать на запросы - вам нужно будет вручную включить выключатель питания (по крайней мере, на моей модели это было сделано). Это не должно быть проблемой в полевых условиях при использовании, но для целей тестирования это становится довольно раздражающим. Если вы знаете решение для этого, дайте мне знать в комментариях, пожалуйста!

Создание фильма

Передайте файлы на рабочий стол для обработки. На Mac я обнаружил, что проще всего использовать командную строку, но вам понадобится XCode, Homebrew, а также MPlayer установлен первым. Для этого сначала загрузите Xcode из App Store (это бесплатно), а затем из предпочтения -> Загрузки вкладка, включить Инструменты командной строки.

Затем выполните (по одному):

Рубин <(curl -fsSkL raw.github.com/mxcl/homebrew/go) brew doctor brew install mplayer 

Теперь у вас должны быть установлены необходимые компоненты кодирования. Выполните следующие команды, чтобы сначала создать список захваченных файлов .jpg, затем введите этот список в mencoder, утилиту, используемую для создания видео. Измените значение FPS, если хотите, чтобы фильм шел быстрее.

cd ls * .jpg> list.txt mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspect = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 мф: //@list.txt 

Вот что я закончил, используя 24 кадра в секунду из 330 кадров, снятых каждую минуту с утра до полудня. Погода в Британии действительно плохая, от солнечного до пасмурного с 5-минутными интервалами в течение дня. Вздох.

Чтобы кодировать фильм в Windows или, если вы предпочитаете использовать графический интерфейс, загрузите Avidemux и следуйте приведенным ниже видеоурокам. Убедитесь, что ваши фотографии пронумерованы последовательно.

https://www.youtube.com/watch?v=GZmkfk-YrG4#t=73

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

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

Во-первых, проверьте, правильно ли была обнаружена ваша веб-камера..

ls -l / dev / video * 

Надеюсь, вы увидите / dev / video0 в следующем списке:

Затем мы можем приступить к установке программного обеспечения для захвата веб-камеры и сделать пробный снимок..

sudo apt-get установить fswebcam 
fswebcam -d / dev / video0 -r 640x480 test.jpeg 

Удалить файл с помощью:

rm test.jpg 

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

mkdir timelapse нано время выполнения 

Вставьте в следующее:

#! / bin / bash # Контроллер интервальной съемки для веб-камеры USB DIR = / home / pi / timelapse x = 1 while [$ x -le 1440]; do filename = $ (date -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ имя файла x = $ (($ x + 1)) спать 10; сделанный; 

В целях тестирования я установил время ожидания между кадрами равным 10 секундам. Когда вы на самом деле начинаете захват, вы можете вместо этого менять его на каждую минуту. Измените следующую строку, чтобы определить, сколько кадров нужно захватить, в примере она установлена ​​как 1440:

в то время как [$ x -le 1440]; делать 

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

chmod 755 runtimelapse 

Затем запустите его, используя:

./ runtimelapse 

Создание фильма

Все еще в командной строке SSH, мы попробуем сшить фильм прямо на Pi - если вы сделали тысячи снимков, а ваша веб-камера имеет более высокое разрешение, вы можете обнаружить, что это ужасно медленно, в этом случае прокрутите до фильма инструкции для DSLR и передачи файлов на ваш компьютер с использованием SFTP.

cd timelapse ls * .jpg> list.txt sudo apt-get установить mencoder mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspect = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi - mf type = jpeg: fps = 24 mf: //@list.txt 

Если все выглядит хорошо, но вы получаете файл размером 0 КБ, это означает, что во временной папке вашего устройства недостаточно места. Я решил эту проблему с помощью чистой установки и снова расширил корневую систему - кажется, что BTSync испортил некоторые временные файлы.

Вот готовая сцена с веб-камеры USB, с полудня до темноты.

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




О современных технологиях, просто и доступно.
Ваш гид в мире современных технологий. Узнайте как использовать технологии и гаджеты, которые нас окружают каждый день и научитесь открывать интересные вещи в Интернете.