Hacer fotos con la Raspberry Pi

Cámara de Fotos de Raspberry Pi

Uno de los mejores gadgets disponibles para la Raspberry es sin duda la cámara que pone a nuestra disposición el propio fabricante, de gran calidad, reducido coste (unos 30 euros) y ultra compacta (2.4mmx2.4mm), que además tiene la ventaja de poder conectarse directamente a un puerto dispuesto por el fabricante en la propia placa de la RPI.

Fabricada desde su última versión (v2) por Sony, permite la grabación de fotos en 8mpx, y de video en alta definición, siendo una muy buena opción para proyectos que requieran tanto fotos fijas, como videos, aunque en este post vamos a centrarnos en el uso de la cámara para hacer fotos.

Si os decidís por comprarla os recomiendo comprar el último modelo (v2), es de exactamente el mismo tamaño pero tiene mucha mejor calidad, y la diferencia entre el modelo antiguo y el nuevo es de como mucho unos 2 o 3 euros.

A la hora de elegir dentro de una versión (1.3 o 2) también os encontraréis con otras dos opciones, la Raspicam y la Raspicam Noir, siendo la primera el modelo normal (recomendable para la mayoría de los usos) y la segunda una versión sin filtro de infrarrojos con la idea de ser usada en ambientes con muy poca luz o con tan solo luz infrarroja. Tienen el mismo precio y exteriormente tan solo se distinguen por su color, en la primera la placa es de típico color verde mientras que en la segunda esta es de color negro.

Antes de nada y para asegurarnos un correcto funcionamiento os recomiendo actualizar el sistema operativo y software de vuestra RPI con:

sudo apt-get update
sudo apt-get upgrade

Y a continuación ejecutar la aplicación raspi-config para en ella activar la cámara.

Para ello teclearemos:

raspi-config

capt-raspiconfig

Y en el menú seleccionaremos ‘Enable Camera’

capt-enable

Una vez activada podremos salir con ‘Finish’.

capt-exit.png

El comando a utilizar para hacer fotos se llama raspistill y puede ser ejecutado directamente desde el shell, ya sea desde la línea de comandos o desde un shell script.

Un ejemplo para tomar una foto y guardarla como foto.jpg:

raspistill -o foto.jpg

Contando con que la cámara pueda instalada de distintas maneras respecto al suelo, y para evitarnos tener que estar rotando las fotos posteriormente, el comando nos da la posibilidad de rotar la foto horizontalmente o verticalmente en el mismo momento de hacer la foto. Para ello pone a nuestra disposición los parámetros -hf  (para giro horizontal)  y -vh (para giro vertical, es decir de arriba a abajo).

Un ejemplo de como tomar una foto rotándola vertical y horizontalmente:

raspistill -vf -hf -o foto.jpg

Podemos ajustar la calidad/tamaño del archivo con el parámetro -q seguido de un valor numérico comprendido entre 1 y 100.

Ejemplo de como tomar una foto con una calidad de 60 sobre 100:

raspistill -o foto.jpg -q 60

Para los que vayáis a hacer algún programa con Python:

import subprocess

subprocess.call([‘raspistill’‘-vf’‘-hf’‘-o’‘cam.jpg’])

Espero que os sirva de ayuda, si tenéis cualquier consulta no dudéis en contactarme estaré encantado de atenderos.