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).Pooling —
midpoint_pool()/mean_pool()und gepoolte Varianten.sensor.set_windowing()— Sensor-Windowing / -Binning, mit neuen Bildgrößen in niedriger Auflösung.find_template()— die Optionenstep/search(SEARCH_EX/SEARCH_DS) /roihinzugefügt.Breaking:
image.find_template()erzwingt nun einen gültigen ROI — siehe die Breaking Changes.
Neue Funktionen¶
tof— ein Time-of-Flight-Modul mittof.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.Pooling —
Image.midpoint_pool()/midpoint_pooled()/mean_pool()/mean_pooled()hinzugefügt.sensor.set_windowing((x, y, w, h))— Sensor-Windowing/-Binning, mit neuen Bildgrößensensor.B40x30/B64x32/B64x64für optischen Fluss.image.find_template()— die Schlüsselwortargumentestep,search(image.SEARCH_EXStandard /image.SEARCH_DSschnelle Diamantsuche) undroihinzugefügt.Image.copy_to_fb()— ein Bild in den Framebuffer kopieren (mit optionalem(x, y)-Versatz) sowie eincopy2fb.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.