v4.1.2

v4.1.2 fügt erweiterte Pixelformate mit vollständigem Debayering, YUV-Bildverarbeitung, ein neues imu-Modul (LSM6DSOX), DFSDM-Digitalmikrofon-Audio sowie Unterstützung für den FrogEye2020-Ereignissensor hinzu. Das Verhalten von erode()/dilate() und die Desktop-RPC-Bibliothek haben sich geändert — lesen Sie die nachstehenden Breaking Changes.

Highlights

  • Erweiterte Pixelformate mit Unterstützung für vollständiges Debayering.

  • YUV-Bildverarbeitung.

  • Neues imu-Modul — LSM6DSOX-Unterstützung (konfigurierbare Ausrichtung, MLC).

  • DFSDM-Audio — Digitalmikrofon-Eingang.

  • Unterstützung für den FrogEye2020-Ereignissensor.

  • Breaking: erode()/dilate() arbeiten nun auf nicht-weißen Pixeln und eine Desktop-RPC-Klasse wurde umbenannt — siehe die Breaking Changes.

Neue Funktionen

  • Erweiterte Pixelformate — neue Pixelformat-Behandlung mit Unterstützung für vollständiges Debayering (Bayer → RGB/Graustufen über verschiedene Formate hinweg).

  • YUV-Bildverarbeitung — Unterstützung für die YUV-Bildverarbeitung hinzugefügt.

  • imu-Modul — ein neues IMU-Modul mit dem LSM6DSOX-Treiber, konfigurierbarer IMU-Ausrichtung und Machine-Learning-Core-(MLC-)Unterstützung.

  • Audio — DFSDM-Digitalmikrofon-Unterstützung zum audio-Modul hinzugefügt.

  • FrogEye2020 — neuer FrogEye2020-Ereignissensor-Treiber, mit Beispielskripten für Ereigniskameras.

Weitere Änderungen und Verbesserungen

  • Die Software-JPEG-Kodierung ist ~10 % schneller (verbesserte Bit-Behandlung).

  • machine.I2C verwendet auf dem STM32 H7 nun das Hardware-I2C-Peripheriegerät.

  • find_apriltags(), find_line_segments() und der TensorFlow-Eingabepfad wurden auf das einheitliche draw_image-Backend umgestellt.

Fehlerbehebungen

  • Behoben wurden Überlaufsituationen bei der Software-JPEG-Kodierung, image compress sowie die IS_JPEG-Formaterkennung.

Hardware- und Board-Unterstützung

  • FrogEye2020-Ereignissensor.

  • Arduino Nicla Vision (BORMIO) — aktualisierte Pinbelegung und USB-VID/PID.

  • Arduino Portenta H7 — Standard-Sensor-Clock auf 12 MHz gesetzt.

Breaking API-Änderungen

Für den Benutzer sichtbare API-Brüche zwischen v4.1.1 und v4.1.2. Geltungsbereich: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.

Jede Änderung ist mit ihrer Auswirkung gekennzeichnet:

  • minor — schmale API; nur host-seitiges Tooling.

  • behavior — gleiche API, andere Ergebnisse; abgestimmte Skripte erneut prüfen.

Die Änderungen sind in dieser Reihenfolge nach Auswirkung gruppiert. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.

Klasse der Desktop-RPC-Bibliothek umbenannt (minor)

In der host-seitigen Desktop-RPC-Bibliothek (tools/rpc/rpc.py) wurde die Klasse rpc_wifi_or_ethernet_master in rpc_network_master umbenannt, und die RTSP-/RPC-Host-Skripte wurden auf die Verwendung der standardmäßigen Netzwerkbibliotheken umgestellt. Dies betrifft nur Host-PC-Programme; Skripte auf der Kamera sind nicht betroffen.

Commits: a2f016ba0, a4858015c

erode() / dilate() arbeiten auf nicht-weißen Pixeln (behavior)

Image.erode() und Image.dilate() wurden korrigiert, sodass sie auf nicht-weißen Pixeln anstatt nur auf weißen Pixeln arbeiten. Die Ergebnisse unterscheiden sich bei nicht-binären / nicht ausschließlich weißen Bildern von früheren Versionen — abgestimmte Morphologie-Pipelines erneut prüfen.

Commit: 899f80759

Migrations-Checkliste

Für eine saubere Portierung auf v4.1.2: Benennen Sie in Host-PC-RPC-Programmen rpc_wifi_or_ethernet_master in rpc_network_master um (die RPC-Umbenennung) und prüfen Sie alle erode() / dilate()-Ergebnisse auf nicht-binären Bildern erneut (die Morphologie-Änderung). Skripte auf der Kamera laufen ansonsten unverändert.