Ir a contenido
¿Qué novedades trae libcamera en RPi OS Bullseye? - 330ohms

¿Qué novedades trae libcamera en RPi OS Bullseye? - 330ohms

Hace unos días anunciamos la nueva versión del sistema operativo Raspberry Pi OS y entre algunas de las cosas nuevas que incluye es una nueva herramienta para utilizar la cámara de Raspberry Pi: libcamera. La inclusión de libcamera implica ciertas ventajas y desventajas que los usuarios deben tomar en cuenta si es que quieren actualizar a Bullseye y emplear una PiCam. En esta entrada te tenemos todos los detalles y nuestras observaciones.

¿Qué es libcamera?

libcamera es el sucesor de raspicam y la librería PiCamera para Python. Se trata de un esfuerzo de los desarrolladores en disminuir el uso de código privativo y de utilizar una librería más estándar, con la que otros usuarios de Linux puedan trabajar. Esto conlleva muchas ventajas interesantes, las cuales detallaremos a continuación. Sin embargo, implica que los programas que hayas desarrollado para tu PiCam ya no sean compatibles con las versiones más recientes de Raspberry Pi OS. Es importante mencionar esto, por que aún puedes usar la versión Buster para tener toda la compatibilidad.

Mejoras en la librería libcamera

Las nuevas aplicaciones de la librería son:

  • libcamera-hello – preview de la imagen que toma la cámara
  • libcamera-jpeg – una aplicación que da una preview de la imagen y toma una captura
  • libcamera-still – una aplicación de captura más compleja que se asemeja a raspistill
  • libcamera-vid – una aplicación de captura de video
  • libcamera-raw – una aplicación dedicada para tomar fotogramas sin procesar directamente del sensor
  • libcamera-detect – esta aplicación no está compilada por defecto, y se puede usar si se tiene instalado TensorFlow Lite. Permite tomar una captura cuando se detecta un objeto en particular

Como se puede observar, mucho de lo que se hacia con las librerías anteriores se puede realizar con la nueva paquetería. Una de las ventajas importantes es la integración con otro software como TensorFlow Lite u OpenCV. Además, hay diferencias clave en cuanto a mantenimiento.

  • Calidad de imagen mejorada; incluso, cada usuario puede personalizar su librería de modo que se adecue a sus necesidades
  • Mejor mantenimiento por parte de los usuarios Linux y terceros (por ejemplo NVIDIA)
  • Se añade más soporte a nuevas cámaras
  • Compatible con las versiones de 64 bits de Raspberry Pi OS
  • No necesitas activar la cámara desde raspi-config

Desventajas de este cambio

Aún no hay una interfaz para usar estas librerías con Python. Esto significa que no hay un modo de introducir la captura de video en una interfaz GUI desarrollada con Python. Sin embargo, está en proceso el desarrollo de software para realizarlo; en especifico se llamará PiCamera2 y se desarrollará por Raspberry Pi, no un tercero. Otra desventaja es que no hay video estereoscópico en libcamera. Por último, los usuarios que tengan una Raspberry Pi Zero será mejor que usen la versión Buster, ya que obtendrán un mejor rendimiento.

Conclusiones:

Este cambio no te afectará si no decides adoptar las nuevas librerías, las cuales se pueden instalar manualmente desde la terminal si usas versiones anteriores de Raspberry Pi OS. Sin embargo, si instalaste Bullseye, ten en cuenta qua raspicam ya no funcionará correctamente en la nueva versión. Estas modificaciones traerán mejores aplicaciones para la cámara PiCam, y se podrá desarrollar mejor hardware por parte de la comunidad y de terceros.

Referencias:

Bullseye camera system

Raspberry Pi Documentation – Camera

Libcamera-apps – Github

Artículo anterior Tutorial #8 de Raspberry Pi Pico: sensor ultrasónico - 330ohms