Picamera2 Beta vorgestellt – basiert auf libcamera

Kein Kommentar Autor: Jürgen (jdo)

Vor wenigen Tagen hat die Raspberry Pi Foundation ein Update zum hauseigenen Raspberry Pi OS veröffentlicht. Dort wurde bereits erwähnt, dass eine Beta-Version der neuen Python-Kamerabibliothek Picamera2 vorinstalliert ist.

Picamera2 ist der Ersatz für die alte Python-Bibliothek PiCamera. Sie war laut eigenen Angaben Nutzern sehr beliebt, da sie das Kamerasystem des Raspberry Pi ziemlich benutzerfreundlich machte. Das Team will allerdings weg von proprietären Kamera-APIs und hin zu einem Open-Sourec-Kamera-Stack, das auf libcamera.

Funktionen von Picamera2

Das Team schreibt, dass es viele neue Funktionen bei Picamera2 gibt, stellt in einem separaten Blog-Beitrag aber die wichtigsten vor:

  • Ein befehlsgesteuertes Konzept, bei dem Du Picamera2-Befehle direkt in einen Python-Interpreter oder in eigene Python-Skripte eingeben kannst.
  • Vorschaufenster, die OpenGL-Beschleunigung für Hardware-unterstütztes Rendering oder DRM/KMS für effizientes Rendering nutzen, sofern X Windows nicht läuft.
  • Zusätzliche Unterstützung für die Einbettung fertiger Picamera2-Widgets in Qt-Anwendungen.
  • Native Verwendung von Numpy, womit die Kombination mit OpenCV, TensorFlow und anderen Python-Bibliotheken vereinfacht wird.
  • Der gesamte Quellcode von Picamera2 ist auf GitHub oder als Teil des libcamera-Projekts verfügbar.
  • Unterstützt alle offiziellen Raspberry-Pi-Kameras und einige Kameras von Drittanbietern

Du findest eine At-Kamera-App etwa unter github.com/raspberrypi/picamera2/blob/main/apps/app_full.py.

Es gibt noch viele weitere Funktionen. Unter anderem nennt das Team Videocodierung und -aufnahmen (mit anpassbaren Ausgabeobjekten). Weiterhin hast Du die Möglichkeit, Audio und Video zusammen aufzunehmen. Du kannst Display-Overlays über die Kamerabilder zeichnen lassen und vieles mehr. Interessiert Dich Picamera2, dann wirf einen Blick auf die zahlreichen Beispiele: Scripts und Apps. Das Handbuch könnte Dich ebenfalls interessieren.

Mit TensorFlow kann Picamera2 Äpfel und Bananen unterscheiden
Mit TensorFlow kann Picamera2 Äpfel und Bananen unterscheiden

Die stehen mit dem neuen System wesentlich mehr Funktionen und Möglichkeiten zur Verfügung.

Installation und Upgrade

Picamera2 läuft derzeit nur auf Bullseye-Abbildern. Buster oder frühere Images sind nicht unterstützt. Das gilt natürlich auch für Raspberry Pi OS Legacy. Hast Du bei einer Bullseye-Installation den Legacy-Kamera-Stack wieder aktiviert, funktioniert es ebenfalls nicht. Alle Nutzer solcher Systeme sollten weiterhin die alte PiCamera-Bibliothek einsetzen.

Bei neuen Bullseye-Installationen ist das neue Kamera-System bereits vorinstalliert. Läuft Dein System schon länger und Du führst immer Systemaktualisierungen durch, kannst Du die neue Komponente wie folgt installieren:

sudo apt install -y python3-picamera2

Picamera2 ist mit allen Abhängigkeiten installiert, einschließlich Qt und OpenGL. Das sollte Dir den Start mit dem System ziemlich erleichtern. Benutzt Du eine frühere Bullseye-Version, werden die Abhängigkeiten mit dem obigen Befehl auch installiert.

Raspberry Pi OS Lite

Bei Raspberry Pi OS Lite ist Picamera2 per Standard vorinstalliert, aber die Qt- und OpenGL-Abhängigkeiten fehlen. Das liegt daran, weil normalerweise leistungsschwächere Geräte Raspberry Pi OS Lite. Dann ist es schwieriger, X-Windows-basierte Anwendungen zu benutzen.

Picamera2 funktioniert trotzdem wie gehabt, mit Ausnahme der Funktionen, die Qt oder X Windows benötigen. Du kannst jedoch DRM/KMS benutzen, Vorschaubilder anzuzeigen. Willst Du die fehlenden Abhängigkeiten dennoch installieren, führst Du folgenden Befehl aus:

sudo apt install -y python3-pyqt5 python3-opengl

Setzt Du eine frühere Version von Bullseye ein, auf der Picamera2 fehlt, kannst Du es auch ohne die zusätzlichen Qt- und OpenGL-Abhängigkeiten installieren:

sudo apt install -y python3-picamera2 –-no-install-recommends

Einige Anwenderinnen und Anwender haben Picamera2 vielleicht schon via pip installiert. Ist das der Fall, musst Du Picamera2 vielleicht deinstallieren (pip3 uninstall picamera2), bevor Du es via apt neu installierst. Du hast natürlich auch die Option, es selbst weiterhin mit pip zu aktualisieren.

Künftige Pläne für Picamera2

Das System wurde von der Raspberry Pi Foundation entwickelt und wird auch künftig gepflegt und verbessert. Solltest Du Fehler finden, kannst Du sie auf der GitHub-Seite melden. Auch die Dokumentation und Beispiele sollen künftig verbessert werden. Das Projekt ist derzeit immer noch als Beta-Version deklariert.

Das neue System testen

Sobald Du ein neues Betriebssystem installiert oder das neue Kamera-System auf einem alten System eingespielt hast, kannst Du loslegen. Die Beispiele von GitHub kannst Du wie folgt herunterladen:

git clone https://github.com/raspberrypi/picamera2.git

Danach kannst Du testen:

python picamera2/examples/preview.py

Zum Abschluss des Blog-Beitrags zum neuen System gibt das Entwickler-Team noch diverse Tipps:

  • Wer einen Raspberry Pi 3 oder ein früheres Gerät benutzt, muss Glamor wieder aktivieren (falls noch nicht geschehen), um die X Windows/OpenGL-Vorschaufunktionen nutzen zu können.
  • libcamera kann im Konsolenfenster ziemlich geschwätzig sein. Stört Dich das, führe den Befehl export LIBCAMERA_LOG_LEVELS=*:3 aus, bevor Du Python startest (oder schreibe es in Deine .bashrc …).
  • Picamera2 und generell libcamera verwenden einen bestimmten Typ des Linux-Systemspeichers, den sogenannten CMA-Speicher. Da es eine Systemressource ist, fehlt die vielleicht an anderer Stelle. Bekommst Du Fehlermeldungen, dass die Zuweisung von Puffern fehlgeschlagen ist, musst Du möglicherweise eingreifen. Weitere Informationen dazu findest Du in Abschnitt 8.3 des Handbuchs.
  • Hast Du libcamera oder Picamera2 von einem Drittanbieter heruntergeladen, kann das Team bei Problemen wahrscheinlich nicht helfen. In diesem Fall musst Du Dich an den entsprechenden Drittanbieter wenden.

Du findest den offiziellen Beitrag zur Beta-Version im Raspberry-Pi-Blog.

Nette Pi-Konstellation

Suchst Du ein VPN für den Raspberry Pi? NordVPN* bietet einen Client, der mit Raspberry Pi OS (32-Bit / 64-Bit) und Ubuntu für Raspberry Pi (64-Bit) funktioniert.




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.