
Owen Little
0
1438
17
Patrz, jak chmury się poruszają lub rośnie sadzonka. Fotografia poklatkowa może naprawdę dać ci wyobrażenie o tym, jak świat działa na poziomie makroskopowym, ponad wszystko, co można sobie wyobrazić w normalnym ludzkim doświadczeniu czasu. Lub innymi słowy: może zmienić oglądanie suchej farby w coś całkiem interesującego. Niestety, profesjonalny sprzęt poklatkowy - dodając możliwość obracania lub przenoszenia aparatu - jak Genie może kosztować nawet 1000 USD. Dzisiaj stworzymy podstawowy kontroler poklatkowy bez ruchu - dla DSLR lub kamery internetowej USB - za pomocą tylko Raspberry Pi.
Koniecznie sprawdź też wszystkie nasze inne świetne projekty Raspberry Pi.
DSLR
Jak zwykle cała nasza praca z Pi będzie wykonywana za pomocą wiersza poleceń SSH, a my możemy pobrać pliki przy użyciu SFTP z tymi samymi poświadczeniami, jeśli zapisałeś je w Pi zamiast w aparacie. Jeśli nie masz pewności, jaki jest adres IP urządzenia Pi, zaloguj się do routera i przejrzyj listę aktualnie podłączonych urządzeń - powinien on zgłaszać się poprawnie.
Rozpocznij od zainstalowania niezbędnego oprogramowania:
sudo apt-get install gphoto2 sudo apt-get install imagemagick
GPhoto2 to narzędzie wiersza poleceń do bezpośredniego interfejsu z obsługiwanymi kamerami DSLR (zobacz pełną listę tutaj). Użyłem Canon Rebel T4i / 650D Canon Rebel T4i dSLR Review i Giveaway Canon Rebel T4i dSLR Review, a firma Giveaway Canon właśnie wydała swoją nową Rebel T4i - pierwszą (miejmy nadzieję) wiele przygód w świecie dotykowym dSLR. Ten aparat jest krokiem naprzód w stosunku do Canon Rebel T3i (co czyni go trzecim… Teraz podłącz aparat do Pi przez USB.
Ponieważ użyłem automatycznych wartości ISO i trybu AV, konfiguracja jest stosunkowo prosta i możemy przechwycić serię za pomocą tylko wiersza poleceń - narzędzie zawiera wbudowane parametry poklatkowe. Oto najbardziej podstawowe polecenie, którego można użyć do przetestowania możliwości:
gphoto2 --capture-image-and-download
który prześle plik do twojego Pi, lub
gphoto2 --capture-image
aby zachować obraz w aparacie. Przy 8 MB pop, najlepiej trzymać je w aparacie i wykonać połączenie filmu po fakcie z komputera PC lub Mac.
Ważny: Domyślnie obrazy są zapisywane w pamięci SD-RAM, a nie na karcie pamięci w aparacie. To znaczy, że stracisz je wszystkie (mówię z doświadczenia). Aby upewnić się, że faktycznie oszczędzają, musimy najpierw ustawić cel przechwytywania:
gphoto2 --get-config / main / settings / capturetarget
Spójrz na listę danych wyjściowych i ustaw cel w następujący sposób, zastępując 1 z tym, który jest pokazany jako karta.
gphoto2 --set-config / main / settings / capturetarget = 1
Aby wykonać zdjęcie w trybie poklatkowym, dołącz -fa i -ja aby określić całkowitą liczbę ramki chcesz uchwycić i czas interwał między każdym. W tym przykładzie przechwytywanie raz na 30 sekund w sumie 1440 klatek, co w przypadku filmu 24 klatek na sekundę będzie równe około minucie. Nie sądzę, żeby bateria mojego aparatu i tak wytrzymała, ale zobaczę, ile dostanę.
gphoto2 --capture-image -F 1440 -I 30
Jedno dziwactwo, o którym należy pamiętać; po wykonaniu polecenia aparat może się wyłączyć i przestać odpowiadać - konieczne będzie ręczne przełączenie wyłącznika zasilania (przynajmniej w moim modelu tak było). Nie powinno to stanowić problemu w terenie podczas użytkowania, ale do celów testowych robi się dość denerwujące. Jeśli znasz rozwiązanie tego problemu, daj mi znać w komentarzach!
Robienie filmu
Prześlij pliki na komputer stacjonarny w celu przetworzenia. Na komputerze Mac najłatwiej jest użyć wiersza polecenia, ale potrzebujesz XCode, Homebrew, i MPlayer najpierw zainstalowany. Aby to zrobić, najpierw pobierz Xcode z App Store (jest bezpłatny), a następnie z Preferencje -> Pliki do pobrania kartę, włącz Narzędzia wiersza poleceń.
Następnie uruchom (pojedynczo):
rubin <(curl -fsSkL raw.github.com/mxcl/homebrew/go) brew doctor brew install mplayer
Powinieneś teraz mieć zainstalowane niezbędne komponenty kodujące. Uruchom następujące polecenia, aby najpierw utworzyć listę przechwyconych plików .jpg, a następnie wprowadzić tę listę do mencodera, narzędzia służącego do tworzenia filmów. Zmień wartość FPS, jeśli wolisz, aby film był odtwarzany szybciej.
cd ls * .jpg> list.txt mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspekt = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt
Oto, na czym skończyłem, używając 24 klatek na sekundę z 330 klatek nagrywanych co minutę od rana do popołudnia. Pogoda w Wielkiej Brytanii jest naprawdę zła, od słonecznej po zachmurzenie w 5-minutowych odstępach w ciągu dnia. Westchnienie.
Aby zakodować film w systemie Windows lub jeśli wolisz korzystać z GUI, pobierz Avidemux i postępuj zgodnie z poniższym samouczkiem wideo. Upewnij się, że twoje zdjęcia są kolejno ponumerowane.
https://www.youtube.com/watch?v=GZmkfk-YrG4#t=73
Korzystanie z kamery internetowej USB
Oczywiście nie każdy ma lustrzankę cyfrową, ale zamiast kupować drogi oficjalny moduł aparatu dla Raspberry Pi, możesz także wykonywać zdjęcia poklatkowe za pomocą gotowej kamery USB - w moim przypadku PS3 Eye, która jest zwykle dość kłopotliwy, aby rozpocząć pracę na PC lub Mac, ale działa od razu po wyjęciu z pudełka. Może być konieczne użycie zasilanego koncentratora USB, a obsługa aparatu jest pobieżna.
Najpierw sprawdź, czy kamera internetowa została poprawnie wykryta.
ls -l / dev / video *
Mam nadzieję, że zobaczysz / dev / video0 na liście w następujący sposób:
Następnie możemy przystąpić do instalacji oprogramowania do przechwytywania kamery internetowej i zrobić zdjęcie próbne.
sudo apt-get install fswebcam
fswebcam -d / dev / video0 -r 640x480 test.jpeg
Usuń plik za pomocą:
rm test.jpg
Zrób kilka zdjęć próbnych, aby umożliwić odpowiednie ustawienie kamery, a następnie przystąpimy do pisania skryptu poklatkowego.
mkdir timelapse nano runtimelapse
Wklej w następujący sposób:
#! / bin / bash # Kontroler timelapse dla kamery USB DIR = / home / pi / timelapse x = 1 podczas gdy [$ x-le 1440]; do filename = $ (data -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ nazwa pliku x = $ (($ x + 1)) spać 10; Gotowe;
Do celów testowych ustawiłem czas oczekiwania między strzałami na 10 sekund. Kiedy faktycznie zaczniesz przechwytywać, możesz zamiast tego zmienić to na każdą minutę. Zmień następujący wiersz, aby określić liczbę klatek do przechwycenia, w przykładzie ustawiono go na 1440:
while [$ x -le 1440]; zrobić
Aby skrypt był wykonywalny, użyj:
chmod 755 runtimelapse
Następnie uruchom go za pomocą:
./ runtimelapse
Robienie filmu
Nadal w wierszu polecenia SSH spróbujemy zszyć film bezpośrednio na Pi - jeśli wykonałeś tysiące zdjęć, a kamera internetowa ma wyższą rozdzielczość, może się okazać, że jest to przerażająco wolne, w takim przypadku przewiń do filmu instrukcje dotyczące DSLR i przenieś pliki na komputer przy użyciu SFTP.
cd timelapse ls * .jpg> list.txt sudo apt-get install mencoder mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspekt = 16/9: vbitrate = 8000000 -vf skala = 640: 480 -o timelapse.avi - mf type = jpeg: fps = 24 mf: //@list.txt
Jeśli wszystko wydaje się dobrze, ale plik wyjściowy ma 0 KB, oznacza to, że w folderze temp urządzeń nie ma wystarczającej ilości miejsca. Rozwiązałem to przy czystej instalacji i ponownym rozszerzeniu systemu root - wygląda na to, że BTSync pomieszał niektóre pliki tymczasowe.
Oto skończona scena z kamery internetowej USB, od późnego popołudnia do ciemności.
Było to o wiele łatwiejsze, niż się spodziewałem - i nie zdziwiłbym się, gdyby ktoś w komentarzach opisał jeszcze łatwiejszą metodę! Wypróbuj fascynujące spojrzenie na życie, które inaczej trudno zrozumieć, i udostępnij link do swoich dzieł w komentarzach lub innych filmach poklatkowych, które uważasz za szczególnie inspirujące.