v1.6.0

v1.6.0 fügt ein Time-of-Flight-(tof)-Modul, image.find_displacement() (FFT-Phasenkorrelation für optischen Fluss), eine Bild-Pooling-API, sensor.set_windowing() sowie Suchoptionen für image.find_template() hinzu. find_template() erzwingt nun seinen ROI — lies die nachfolgenden Breaking Changes.

Höhepunkte

  • tof-Modul — Unterstützung für Time-of-Flight-Abstandssensoren.

  • image.find_displacement() — FFT-Phasenkorrelation (optischer Fluss).

  • Poolingmidpoint_pool() / mean_pool() und gepoolte Varianten.

  • sensor.set_windowing() — Sensor-Windowing / -Binning, mit neuen Bildgrößen in niedriger Auflösung.

  • find_template() — die Optionen step / search (SEARCH_EX / SEARCH_DS) / roi hinzugefügt.

  • Breaking: image.find_template() erzwingt nun einen gültigen ROI — siehe die Breaking Changes.

Neue Funktionen

  • tof — ein Time-of-Flight-Modul mit tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() hinzugefügt (Unterstützung für I2C-ToF-Sensoren).

  • image.find_displacement() — FFT-Phasenkorrelations-Verschiebung (mit Subpixel und Ergebnisqualität) hinzugefügt, mit einem Beispiel zum optischen Fluss.

  • PoolingImage.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled() hinzugefügt.

  • sensor.set_windowing((x, y, w, h)) — Sensor-Windowing/-Binning, mit neuen Bildgrößen sensor.B40x30 / B64x32 / B64x64 für optischen Fluss.

  • image.find_template() — die Schlüsselwortargumente step, search (image.SEARCH_EX Standard / image.SEARCH_DS schnelle Diamantsuche) und roi hinzugefügt.

  • Image.copy_to_fb() — ein Bild in den Framebuffer kopieren (mit optionalem (x, y)-Versatz) sowie ein copy2fb.py-Beispiel.

Weitere Änderungen und Verbesserungen

  • Die Diamantsuche von find_template() verfeinert ihren Schritt präziser (genauer, langsamer); Binning aktiviert sich auf der OpenMV 2 automatisch für Bildgrößen über VGA; Auto-Zoom/-Skalierung ist bei VGA auf dem OV7725 deaktiviert.

Fehlerbehebungen

  • Behoben: die Berechnungen von Integralbild und Integralbild-Quadrat (was die Genauigkeit von Haar / Merkmal / Template-Matching betraf), die 1D-/2D-FFT und Phasenkorrelation sowie das Größenändern des Framebuffers beim In-place-Pooling.

Hardware- und Board-Unterstützung

  • Time-of-Flight-(ToF-)-Abstandssensor über I2C.

  • Neue Bildgrößen in niedriger Auflösung (B40x30 / B64x32 / B64x64) für optischen Fluss.

Breaking API-Änderungen

Für Benutzer sichtbare API-Brüche zwischen v1.5.0 und v1.6.0. Geltungsbereich: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.

Die Breaking Change ist eine Verhaltens-Änderung (gleiche API, anderes Ergebnis) — prüfe die betroffenen Skripte erneut. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.

image.find_template() erzwingt seinen ROI (Verhalten)

image.find_template() validiert nun seinen Interessensbereich und löst („Region of interest is bigger than image!“) aus, wenn der ROI fehlt/überdimensioniert oder kleiner als das Template ist. Übergib einen gültigen roi=(x, y, w, h), der mindestens die Größe des Templates hat und in das Bild passt.

Commits: a25e0c162

Migrations-Checkliste

Übergib image.find_template() einen gültigen roi (≥ Template-Größe, innerhalb des Bildes) (die find_template-Änderung). Alle anderen Skripte laufen unverändert.