Publicitate
Urmăriți norii să se miște sau să crească un răsad. Fotografia în timp-lapse vă poate oferi într-adevăr un sentiment al modului în care lumea lucrează la nivel macroscopic, dincolo de orice este posibil pentru experiența umană normală a timpului. Sau alte cuvinte: poate transforma vizionarea vopselei uscate în ceva destul de interesant. Din păcate, echipamentele profesionale de scurgere a timpului - adăugând în același timp capacitatea de a roti sau de a muta camera dvs., cum ar fi Genie poate costa până la 1000 $. Astăzi, vom face un control-time-lapse de bază fără nicio mișcare - pentru DSLR sau o cameră web USB - doar cu un Raspberry Pi.
Asigurați-vă că vedeți toate celelalte noastre minunate Proiecte Raspberry Pi de asemenea.
DSLR
Ca de obicei, toată munca noastră cu Pi-ul se va face pe o linie de comandă SSH și putem prelua fișierele folosind SFTP cu aceleași credențe dacă le-ați stocat pe Pi în locul camerei. Dacă nu sunteți sigur care este adresa IP a Pi-ului dvs., conectați-vă la router și vizualizați lista dispozitivelor conectate în prezent - ar trebui să se raporteze corect.
Începeți prin instalarea unor programe software esențiale:
sudo apt-get install gphoto2. sudo apt-get install imagemagick.
GPhoto2 este un utilitar al liniei de comandă pentru a interfața direct cu camerele DSLR acceptate (vezi lista completă aici). Am folosit un Canon Rebel T4i / 650D Revizuirea Canon Rebel T4i dSLR și GiveawayCanon tocmai a lansat noua lor Rebel T4i - prima lor aventură (cu multă speranță) în lumea touchscreen dSLR. Această cameră este un pas de la Canon Rebel T3i (făcând-o și a treia ... Citeste mai mult . Acum, conectează-ți camera la Pi prin USB.
Întrucât am folosit valori ISO automate și modul AV, configurarea este relativ simplă și putem capta seria folosind doar linia de comandă - utilitatea include parametrii încadrați în timp. Iată cea mai de bază comandă pe care o puteți utiliza pentru a testa capabilitățile:
gphoto2 --capture-image-and-download
care va transfera fișierul în Pi, sau
gphoto2 --capture-image
pentru a păstra imaginea pe cameră. La 8 MB pop, este cel mai bine să le țineți pe cameră și să efectuați cusăturile filmului după fapt de pe un computer sau un Mac.
Important: În mod implicit, imaginile sunt salvate în memoria RAM SD, nu pe cardul de memorie din cameră. Adică le veți pierde pe toate (vorbesc din experiență). Pentru a ne asigura că economisesc efectiv, trebuie să stabilim mai întâi ținta de captare:
gphoto2 --get-config / main / settings / capturetarget.
Uită-te la lista pe care o scoate și stabilește ținta după cum urmează, înlocuind 1 cu orice este arătat ca cardul dvs.
gphoto2 - set-config / main / settings / capturetarget = 1.
Pentru a surprinde în modul time-lapse, adăugați -F și -I pentru a specifica numărul total de rame vrei să surprinzi și timpul interval între fiecare. În acest exemplu, capturarea o dată la 30 de secunde pentru un total de 1440 de cadre, care atunci când este realizat într-un film de 24 FPS va fi egal cu aproximativ un minut. Nu cred că bateria camerei mele va dura atât de mult, dar voi vedea câte obțin.
gphoto2 --capture-image -F 1440 -I 30.
O singură pretenție de care trebuie să țineți cont; după terminarea comenzii, camera se poate opri și nu va răspunde - va trebui să acționați manual întrerupătorul de alimentare (cel puțin, pe modelul meu a făcut-o). Aceasta nu ar trebui să fie o problemă în domeniu atunci când este folosit, dar pentru testare devine destul de enervant. Dacă știți o soluție pentru asta, anunțați-mă în comentarii, vă rog!
Realizarea unui film
Transferați fișierele pe computerul de desktop pentru procesare. Pe un Mac, am găsit că cel mai ușor este să folosiți linia de comandă, dar va trebui XCode, homebrew, și MPlayer instalat mai întâi. Pentru a face acest lucru, descărcați mai întâi Xcode din App Store (este gratuit), apoi din Preferințe -> Descărcări fila, activare Instrumente pentru linia de comandă.
Apoi rulați (pe rând):
ruby
Acum ar trebui să aveți instalate componentele de codare necesare. Rulați următoarele comenzi pentru a crea mai întâi o listă cu fișierele .jpg capturate, apoi alimentați acea listă în mencoder, o utilitate folosită pentru a crea videoclipuri. Modificați valoarea FPS dacă preferați ca filmul să fie mai rapid.
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 mf: //@list.txt.
Iată cu ce am terminat, folosind 24 FPS din 330 de cadre filmate în fiecare minut de dimineață până la jumătatea după-amiezii. Vremea în Marea Britanie este într-adevăr atât de rea, de la soare la nori la intervale de 5 minute pe parcursul zilei. Oftat.
Pentru a codifica un film în Windows, sau dacă preferați să utilizați o GUI, descărcați Avidemuxși urmați tutorialul video de mai jos. Asigurați-vă că fotografiile sunt numerotate secvențial.
https://www.youtube.com/watch? v = GZmkfk-YrG4 # t = 73
Utilizarea unei camere web USB
Desigur, nu toată lumea are un DSLR, ci în loc să cumpere un modul de cameră scump oficial pentru Raspberry Pi, puteți efectua, de asemenea, fotografii în timp scurs folosind un USB off-the-raft webcam - în cazul meu, un PS3 Eye, care este de obicei destul de dificil pentru a lucra la PC sau Mac, dar funcționează din caseta de pe Pi. Este posibil să fie nevoie să utilizați un hub USB alimentat, iar suportul camerei este schițate.
În primul rând, verificați dacă camera dvs. web a fost detectată corect.
ls -l / dev / video *
Sperăm că veți vedea / dev / video0 enumerat astfel:
Apoi putem merge mai departe cu instalarea software-ului de captare a camerei web și să facem un test.
sudo apt-get install fswebcam.
fswebcam -d / dev / video0 -r 640x480 test.jpeg.
Ștergeți fișierul cu:
rm test.jpg.
Efectuați câteva fotografii de testare pentru a vă permite să poziționați camera în mod corespunzător, apoi vom continua cu script-ul de timp.
timkapse mkdir. nano runtimelapse.
Lipiți în următoarele:
#! / Bin / bash. # Controler Timelapse pentru camera web USB DIR = / home / pi / timelapse x = 1. în timp ce [$ x -le 1440]; do filename = $ (data -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ nume de fișier x = $ (($ x + 1)) somn 10; Terminat;
În scopuri de testare, am setat timpul de așteptare între fotografii ca 10 secunde. Când începeți efectiv să capturați, este posibil să doriți să o schimbați în fiecare minut. Modificați următoarea linie pentru a determina câte cadre să surprindă, în exemplu, este setat ca 1440:
în timp ce [$ x -le 1440]; do.
Pentru a face executarea scriptului, utilizați:
chmod 755 runtimelapse.
Apoi rulați-l folosind:
./runtimelapse.
Realizarea unui film
Încă pe linia de comandă SSH, vom încerca să coase filmul direct pe Pi - dacă ați făcut mii de fotografii și camera dvs. web este mai mare rezoluție, este posibil să descoperiți că acesta este îngrozitor de lent, caz în care derulați până la instrucțiunile filmului pentru DSLR și transferați fișierele pe computer folosind SFTP.
timelapse cd. ls * .jpg> list.txt. sudc apt-get mencoder de instalare. 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.
Dacă totul pare bine, dar primiți o ieșire de fișier de 0 KB, înseamnă că nu există suficient spațiu în folderul temporal al dispozitivelor. Am rezolvat acest lucru cu o instalare curată și extinderea din nou a sistemului root - se pare că BTSync a încurcat câteva fișiere temp.
Iată scena terminată de pe o cameră web USB, de după-amiaza până la întuneric.
Acest lucru a fost mult mai ușor decât am crezut că va fi - și n-aș fi surprins să găsesc pe cineva în comentarii care să detalieze o metodă și mai ușoară! Dă-i drumul pentru o vizionare fascinantă a vieții, care altfel este greu de înțeles și împărtășește un link către creațiile tale în comentariile sau alte videoclipuri în lapse de timp pe care le-ai considerat deosebit de inspirate.
James are licență în inteligență artificială și este certificat CompTIA A + și Network +. Este dezvoltatorul principal al MakeUseOf și își petrece timpul liber jucând VR paintball și boardgames. Construiește calculatoare de când era mic.