Cámara web en Raspberry Pi con FSWEBCAM y Python en IOTeca

Cámara web en Raspberry Pi con FSWEBCAM y Python

FSWEBCAM es una pequeña y simple aplicación para cámara web para sistemas Linux. Puede capturar imágenes de una serie de diferentes fuentes y realizar una manipulación simple en la imagen capturada. La imagen puede ser guardada como uno o más archivos PNG o JPG.

Dado que existen webcams más ecónomicas que las originales para la Raspnerry, e inclusive las podemos tener previamante, este tipo de soluciones es más que interesantes para nuestras aplicaciones.



En primer lugar debemos realizar la instalación.

sudo apt-get install fswebcam

Para obtener ayuda sobre la aplicación y visualizar parámetros posibles:

fswebcam -? O fswebcam --help

Conectar la cámara y escribir por consola el comando lsusb. La cámara debe aparecer el el listado



Una vez asegurados que la webcam ha sido reconocida, y que no este siendo utilizado por otra aplicación como motion, comencemos realizando una toma por consola de la siguiente manera:

pi@raspberrypi:~$  fswebcam nombre_archivo.jpg

Otro ejemplo más completo:

pi@raspberrypi:~$ fswebcam -d /dev/video0 -r 1280x720 --no-banner ./pruebacam.jpg

Donde la opciones de capturas son:

-d, --device [:]
Establece la fuente o dispositivo a usar. La fuente se selecciona automáticamente a menos que especificado en el prefijo. El valor predeterminado es / dev / video0.

-r, --resolución
Establece la resolución de imagen de la fuente o dispositivo. La resolución real utilizada puede difierir si la fuente o el dispositivo no pueden capturar a la resolución especificada. El valor predeterminado es "384x288".

--no-banner
Deshabilita el banner

Algunas opciones de salida

--top-banner
Posiciona la imagen en la parte superior de la imagen

-bottom-banner
Posiciona el bannern en la parte inferior de la imagen. Es la posición por defecto.

--banner-colour <#AARRGGBB>
Especifica el color del banner. Utiliza formato hexadecimal para describir el color (#RRGGBB). Puede soportar el canal alfa (#AARRGGBB).
Ejemplos:
  • "#FF0000" es rojo
  • "#80000000" negro semitransparente.
  • "#FF000000" es invisible (canal alfa al máximo).
  • El valor por defecto es "#40263A93".

--line-color <#AARRGGBB>
Establece el color de la línea divisoria. El valor predeterminado es "# 00FF0000".

--text-color <#AARRGGBB>
Establece el color del texto. El valor predeterminado es "# 00FFFFFF".

--font <[nombre de archivo o fuente]: [tamaño de fuente]>
Establece la fuente utilizada en el banner. Si no se especifica ninguna ruta, la ruta en GDFONTPATH se busca la variable de entorno para la fuente. Los nombres de Fontconfig también se pueden usar si la biblioteca GD tiene soporte. El valor predeterminado es "sans: 10".

--no-shadow
Deshabilita la sombra de texto.

--shadow
Habilita la sombra de texto. Este es el comportamiento por defecto.

--title
Establece el texto principal, ubicado en la esquina superior izquierda del banner.

--no-title
No incluye el texto principal.

--subtitle
Establece el texto del subtítulo, ubicado en la parte inferior izquierda del banner.

--no-subtitle
No incluye el texto del subtítulo.

-- timestamp
Establece el texto de la marca de tiempo, ubicado en la parte superior derecha del banner. Esta cadena es formateado por strftime. El valor predeterminado es "% Y-% m-% d% H:% M (% Z)".

--no- timestamp
No incluye el texto de la marca de tiempo.

Llamar a FSWEBCAM desde Python

Si por consola llamamos a fswebcam con opciones como la siguientes:

pi@raspberrypi:~$ fswebcam -d /dev/video0 -r 1280x720 --title "CUMPLEAÑOS DE JUAN" --banner-colour "#ff0000" --line-colour "#000000" --text-colour "#c0c0c0" ./pruebacam.jpg

Para realizar lo mismo en Python debemos importar call del módulo subprocess y ejecutar la llamada de la siguiente forma:

from subprocess import call
call(["fswebcam", "-d", "/dev/video0", "-r", "1280x720", "--title", "CUMPLEAÑOS DE JUAN", "--banner-colour","#ff0000","--line-colour","#000000","--text-colour","#c0c0c0","./pruebacam.jpg"])

En call pasamos como parámetro una donde el primer elemento es la aplicación que estamos instanciando y los soguientes elementos son los psrametros de esta aplicación.


Este y otros contenidos los podés aprender en el Curso de Raspberry Pi

Creado: 16/01/2020  

Publicidad

| Volver a Raspberry Pi |

Comentarios

Para poder comentar debés registrarte e ingresar al sitio.