Cómo capturar fotografías a intervalos con tu Raspberry Pi y tu cámara réflex digital o USB

Cómo capturar fotografías a intervalos con tu Raspberry Pi y tu cámara réflex digital o USB / Bricolaje

Observa cómo se mueven las nubes o cómo crece una plántula. La fotografía de lapso de tiempo puede realmente darte una idea de cómo funciona el mundo a un nivel macroscópico, más allá de cualquier cosa concebible para la experiencia humana normal del tiempo. O otras palabras: puede convertir la pintura seca en algo muy interesante. Desafortunadamente, el equipo profesional de lapso de tiempo, mientras agrega la capacidad de girar o mover la cámara, como el Genie puede costar hasta $ 1000. Hoy, haremos un controlador de lapso de tiempo básico sin movimiento, para DSLR o una cámara web USB, con solo una Raspberry Pi.

Asegúrese de revisar todos nuestros otros grandes proyectos de Raspberry Pi también.

Réflex digital

Como es habitual, todo nuestro trabajo con el Pi se realizará a través de una línea de comando de SSH, y podemos capturar los archivos utilizando SFTP con las mismas credenciales si los ha almacenado en Pi en lugar de en la cámara. Si no está seguro de cuál es la dirección IP de su Pi, inicie sesión en su enrutador y vea la lista de los dispositivos conectados actualmente; debería informarse correctamente..

Comience por instalar algún software esencial:

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

GPhoto2 es una utilidad de línea de comandos para interactuar directamente con cámaras DSLR compatibles (vea la lista completa aquí). Utilicé una Canon Rebel T4i / 650D Canon Rebel T4i dSLR Review y Giveaway Canon Rebel T4i dSLR Review y Giveaway Canon acaba de lanzar su nuevo Rebel T4i, su primera (con suerte, muchas) aventuras en el mundo del dSLR con pantalla táctil. Esta cámara es un paso adelante de la Canon Rebel T3i (también la tercera ... Leer más. Ahora, conecte su cámara a la Pi a través de USB.

Dado que he usado valores ISO automáticos y modo AV, la configuración es relativamente simple y podemos capturar la serie solo con la línea de comandos; la utilidad incluye parámetros de lapso de tiempo incorporados. Aquí está el comando más básico que puede usar para probar las capacidades:

gphoto2 - captura-imagen-y-descarga

que transferirá el archivo a su Pi, o

gphoto2 --capture-image

Para mantener la imagen en la cámara. Con 8 MB de pop, posiblemente sea mejor mantenerlos en la cámara y realizar la costura de la película después de un PC o Mac..

Importante: De forma predeterminada, las imágenes se guardan en SD-RAM, no en la tarjeta de memoria de la cámara. Lo que significa que los perderá a todos (hablo por experiencia). Para garantizar que realmente se guarden, primero debemos establecer el objetivo de captura:

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

Mire la lista de resultados y establezca el objetivo de la siguiente manera, reemplazando 1 con lo que se muestra como su tarjeta.

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

Para capturar en modo de lapso de tiempo, anexar -F y -yo para especificar el número total de marcos quieres capturar, y el tiempo intervalo entre cada uno. En este ejemplo, capturar una vez cada 30 segundos para un total de 1440 fotogramas, que cuando se convierte en una película de 24 FPS será aproximadamente un minuto. De todos modos, no creo que la batería de mi cámara dure tanto tiempo, pero veré cuántos recibo.

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

Una peculiaridad a tener en cuenta; Una vez que se completa el comando, la cámara puede apagarse y dejar de responder. Deberá apagar el interruptor de alimentación manualmente (al menos, en mi modelo lo hizo). Esto no debería ser un problema en el campo cuando está en uso, pero para propósitos de prueba se vuelve bastante molesto. Si sabe una solución para esto, hágamelo saber en los comentarios, por favor!

Haciendo una pelicula

Transfiera los archivos a su computadora de escritorio para procesarlos. En una Mac, lo más fácil es usar la línea de comandos, pero necesitarás XCode, Homebrew, y MPlayer instalado primero Para hacer esto, primero descargue Xcode desde la App Store (es gratis), luego desde el Preferencias -> Descargas pestaña, habilitar Herramientas de línea de comandos.

Luego ejecute (uno a la vez):

rubí <(curl -fsSkL raw.github.com/mxcl/homebrew/go) brew doctor brew install mplayer 

Ahora debería tener instalados los componentes de codificación necesarios. Ejecute los siguientes comandos para crear primero una lista de los archivos .jpg capturados, luego alimente esa lista en mencoder, una utilidad que se usa para crear videos. Cambia el valor de FPS si prefieres que la película vaya más rápido.

discos compactos  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 

Esto es lo que terminé usando 24 FPS desde 330 fotogramas cada minuto desde la mañana hasta la tarde. El clima en Gran Bretaña es realmente malo, de soleado a nublado en intervalos de 5 minutos a lo largo del día. Suspiro.

Para codificar una película en Windows, o si prefiere usar una GUI, descargue Avidemux y siga el tutorial de video a continuación. Asegúrate de que tus fotos estén numeradas secuencialmente.

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

Usando una webcam USB

Por supuesto, no todo el mundo tiene una cámara réflex digital, pero en lugar de comprar un costoso módulo de cámara oficial para la Raspberry Pi, también puede realizar una fotografía de lapso de tiempo con una cámara web USB disponible, en mi caso, un PS3 Eye, que es Por lo general, es bastante complicado trabajar en PC o Mac, pero funciona de manera inmediata en el Pi. Es posible que deba usar un concentrador USB con alimentación, y el soporte de la cámara es incompleto.

Primero, comprueba si tu webcam ha sido detectada correctamente.

ls -l / dev / video * 

Con suerte, verás / dev / video0 listado así:

Luego podemos continuar con la instalación del software de captura de la cámara web y tomar una foto de prueba..

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

Eliminar el archivo con:

rm test.jpg 

Realice algunos disparos de prueba para permitirle colocar la cámara de manera adecuada, luego continuaremos con el script de lapso de tiempo..

mkdir timelapse nano runtimelapse 

Pega lo siguiente:

#! / bin / bash # Controlador de lapso de tiempo para la cámara web USB DIR = / home / pi / timelapse x = 1 mientras que [$ x -le 1440]; do filename = $ (fecha -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ filename x = $ (($ x + 1) dormir 10; hecho; 

Para propósitos de prueba, he establecido el tiempo de espera entre tomas en 10 segundos. Cuando realmente comiences a capturar, es posible que desees cambiar eso a cada minuto. Cambie la siguiente línea para determinar cuántos marcos capturar, en el ejemplo se establece como 1440:

mientras que [$ x -le 1440]; hacer 

Para hacer el script ejecutable, use:

chmod 755 runtimelapse 

Luego ejecútalo usando:

./ runtimelapse 

Haciendo una pelicula

Aún en la línea de comandos de SSH, intentaremos unir la película directamente en la Pi: si ha tomado miles de fotos y su cámara web tiene una resolución más alta, es posible que esto sea terriblemente lento, en cuyo caso vaya hasta la película. instrucciones para DSLR, y transfiera los archivos a su PC usando 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 

Si todo parece estar bien pero obtiene un archivo de 0 KB, significa que no hay suficiente espacio en la carpeta temporal de su dispositivo. Resolví esto con una instalación limpia y expandiendo el sistema raíz de nuevo - parece que BTSync había arruinado algunos archivos temporales.

Aquí está la escena terminada de una cámara web USB, desde la tarde hasta la oscuridad..

Esto fue mucho más fácil de lo que pensé, ¡y no me sorprendería encontrar a alguien en los comentarios que detalla un método aún más fácil! Pruébelo para obtener una visión fascinante de la vida que de otra manera sería difícil de comprender, y comparta un enlace a sus creaciones en los comentarios u otros videos de lapso de tiempo que haya encontrado particularmente inspiradores..

Explorar más sobre: ​​Fotografía, Raspberry Pi..