Annuncio pubblicitario

Guarda le nuvole muoversi o far crescere una piantina. La fotografia time-lapse può davvero darti un'idea di come il mondo funziona a livello macroscopico, al di là di qualsiasi cosa concepibile per la normale esperienza umana del tempo. O altre parole: può trasformare l'essiccazione della vernice in qualcosa di piuttosto interessante. Sfortunatamente, l'attrezzatura professionale time-lapse - pur aggiungendo la possibilità di ruotare o spostare la fotocamera - come la Genio può costare fino a $ 1000. Oggi realizzeremo un controller time-lapse di base senza movimento - per DSLR o webcam USB - con solo un Raspberry Pi.

Assicurati di dare un'occhiata a tutti gli altri fantastici Progetti di Raspberry Pi pure.

DSLR

Come al solito, tutto il nostro lavoro con il Pi verrà eseguito su una riga di comando SSH e possiamo acquisire i file utilizzando SFTP con le stesse credenziali se li hai archiviati su Pi anziché sulla videocamera. Se non sei sicuro di quale sia l'indirizzo IP del tuo Pi, accedi al tuo router e visualizza l'elenco dei dispositivi attualmente connessi: dovrebbe essere segnalato correttamente.

instagram viewer

-dispositivi collegati

Inizia installando alcuni software essenziali:

sudo apt-get install gphoto2. sudo apt-get install imagemagick. 

GPhoto2 è un'utilità della riga di comando per interfacciarsi direttamente con le fotocamere DSLR supportate (visualizza l'elenco completo qui). Ho usato una Canon Rebel T4i / 650D Recensione e omaggio dSLR di Canon Rebel T4iCanon ha appena rilasciato la sua nuova Rebel T4i, le sue prime (e molte speranze) avventure nel mondo del dSLR touchscreen. Questa fotocamera è un passo avanti rispetto alla Canon Rebel T3i (che la rende anche la terza ... Leggi di più . Ora collega la tua fotocamera al Pi tramite USB.

Dal momento che ho usato i valori ISO automatici e la modalità AV, l'impostazione è relativamente semplice e possiamo acquisire le serie utilizzando solo la riga di comando: l'utilità include parametri di time lapse integrati. Ecco il comando più semplice che puoi utilizzare per testare le funzionalità:

gphoto2 --capture-immagine-e-scarica

che trasferirà il file sul tuo Pi o

gphoto2 --capture-image

per mantenere l'immagine sulla fotocamera. A 8 MB al pop, è probabilmente meglio tenerli sulla fotocamera ed eseguire le cuciture del film dopo il fatto da un PC o Mac.

Importante: Per impostazione predefinita, le immagini vengono salvate su SD-RAM, non sulla scheda di memoria della fotocamera. Significa che li perderai tutti (parlo per esperienza). Per garantire che salvino effettivamente, dobbiamo prima impostare il target di acquisizione:

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

Guarda l'elenco che genera e imposta l'obiettivo come segue, sostituendolo 1 con quello che viene mostrato come carta.

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

Per acquisire in modalità time-lapse, aggiungere -F e -IO per specificare il numero totale di montatura vuoi catturare e il tempo intervallo tra ognuno. In questo esempio, catturare una volta ogni 30 secondi per un totale di 1440 fotogrammi, che se trasformati in un filmato a 24 FPS equivalgono a circa un minuto. Non credo che la batteria della mia fotocamera durerà comunque a lungo, ma vedrò quante ne avrò.

gphoto2 --capture-image -F 1440 -I 30. 

Una stranezza da tenere a mente; una volta completato il comando, la fotocamera potrebbe spegnersi e non rispondere - dovrai spegnere e riaccendere manualmente l'interruttore di accensione (almeno sul mio modello). Questo non dovrebbe essere un problema sul campo quando è in uso, ma a scopo di test diventa piuttosto fastidioso. Se conosci una soluzione per questo, fammelo sapere nei commenti, per favore!

gphoto2-lavoro

Fare un film

Trasferisci i file sul tuo computer desktop per l'elaborazione. Su un Mac, ho scoperto che il modo più semplice è usare la riga di comando, ma ne avrai bisogno XCode, homebrew, e MPlayer installato per primo. Per fare ciò, scarica prima Xcode dall'App Store (è gratuito), quindi da Preferenze -> download scheda, abilita Strumenti da riga di comando.

Xcode-install-CLT

Quindi esegui (uno alla volta):

ruby 
homebrew

Ora dovresti avere i componenti di codifica necessari installati. Esegui i seguenti comandi per creare prima un elenco dei file .jpg acquisiti, quindi inserisci tale elenco in mencoder, un'utilità utilizzata per creare video. Modifica il valore FPS se preferisci che il film vada più veloce.

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. 

Ecco cosa ho finito con 24 FPS da 330 fotogrammi scattati ogni minuto dalla mattina a metà pomeriggio. Il tempo è che la Gran Bretagna è davvero così brutta, da soleggiato a coperto a intervalli di 5 minuti durante il giorno. Sospiro.

Per codificare un film in Windows o se si preferisce utilizzare una GUI, scaricare Avidemuxe segui il tutorial video qui sotto. Assicurati che le tue foto siano numerate in sequenza.

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

Utilizzando una webcam USB

Naturalmente, non tutti hanno una DSLR, ma piuttosto che acquistare un costoso modulo fotocamera ufficiale per il Raspberry Pi, puoi anche eseguire la fotografia time-lapse utilizzando una USB standard webcam - nel mio caso, un PS3 Eye che di solito è piuttosto una seccatura per funzionare su PC o Mac, ma funziona immediatamente sul Pi. Potrebbe essere necessario utilizzare un hub USB alimentato e il supporto della fotocamera è abbozzato.

Innanzitutto, controlla se la tua webcam è stata rilevata correttamente.

ls -l / dev / video *

Spero che vedrai / dev / video0 elencato in questo modo:

dev-video0

Quindi possiamo procedere con l'installazione del software di acquisizione della webcam e fare uno scatto di prova.

sudo apt-get install fswebcam. 
fswebcam -d / dev / video0 -r 640x480 test.jpeg. 

Elimina il file con:

rm test.jpg. 

Fai alcuni scatti di prova per permetterti di posizionare la videocamera in modo appropriato, quindi andremo avanti con lo script time-lapse.

mkdir timelapse. nano runtimelapse. 

Incolla quanto segue:

#! / Bin / bash. # Controller timelapse per webcam USB DIR = / home / pi / timelapse x = 1. mentre [$ x -le 1440]; do nomefile = $ (data -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ nomefile x = $ (($ x + 1)) dormire 10; fatto; 

A scopo di test, ho impostato il tempo di attesa tra gli scatti su 10 secondi. Quando si inizia effettivamente a catturare, è possibile che si desideri modificarlo in ogni minuto. Modifica la seguente riga per determinare il numero di fotogrammi da acquisire, nell'esempio è impostato come 1440:

mentre [$ x -le 1440]; fare. 

Per rendere eseguibile lo script, utilizzare:

chmod 755 runtimelapse. 

Quindi eseguilo usando:

./runtimelapse. 
usb-lavoro

Fare un film

Sempre sulla riga di comando SSH, proveremo a ricamare il film direttamente sul Pi - se hai scattato migliaia di scatti e la tua webcam è più alta risoluzione, potresti scoprire che è terribilmente lento, nel qual caso scorri fino alle istruzioni del film per DSLR e trasferisci i file sul tuo PC usando SFTP.

usb-sftp
cd timelapse. ls * .jpg> list.txt. sudo apt-get install 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. 

Se tutto sembra a posto ma ottieni un output di file di 0 KB, significa che non c'è spazio sufficiente nella cartella temp dei tuoi dispositivi. Ho risolto questo problema con un'installazione pulita ed espandendo di nuovo il sistema di root - sembra che BTSync avesse incasinato alcuni file temporanei.

Ecco la scena finita da una webcam USB, dal tardo pomeriggio al buio.

È stato molto più semplice di quanto pensassi, e non sarei sorpreso di trovare qualcuno nei commenti che descriva in dettaglio un metodo ancora più semplice! Provalo per una visione affascinante della vita che altrimenti sarebbe difficile da comprendere e condividi un link alle tue creazioni nei commenti o in altri video time-lapse che hai trovato particolarmente stimolanti.

James ha una laurea in Intelligenza Artificiale ed è certificato CompTIA A + e Network +. È lo sviluppatore principale di MakeUseOf e trascorre il suo tempo libero giocando a paintball e giochi da tavolo VR. Costruisce PC da quando era un bambino.