v3.6.0¶
v3.6.0 bringt vollständige Unterstützung für die OV5640 5 MP-Kamera mit neuen hochauflösenden Framesizes (HD / FHD / QHD / QXGA / WQXGA), aktualisiert den Kern auf MicroPython 1.12, optimiert den Software-JPEG-Encoder sowie die AprilTag- / Linienerkennung stark, fügt UVC (USB-Video) auf der OpenMV Cam H7 Plus hinzu und unterstützt QSPI-Flash bis zu 32 MB. Das MicroPython-Verhalten und get_histogram() haben sich geändert — lesen Sie die Breaking Changes unten.
Highlights¶
OV5640 5 MP — vollständiger Kameratreiber mit neuen HD- / FHD- / QHD- / QXGA- / WQXGA- / WQXGA2-Framesizes.
MicroPython 1.12 — der mitgelieferte Kern wurde aktualisiert.
Schnellere Pipeline — stark optimierte Software-JPEG-Kodierung, AprilTag-Erkennung, LSD-Linienerkennung,
histeq()und QR-Code-Dekodierung.UVC auf der H7 Plus — die OpenMV Cam H7 Plus kann als USB-Videogerät fungieren.
Breaking: Das MicroPython-Verhalten, die Normalisierung von
image.get_histogram()und die JPEG-/Graustufen-Ausgabe der OpenMV 3 haben sich geändert — siehe die Breaking Changes.
Neue Funktionen¶
OV5640 — vollständige Unterstützung für die OV5640 5 MP-Kamera hinzugefügt (externe Taktkonfiguration in der Sensor-Initialisierung) sowie die neuen Framesize-Konstanten
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — freigegeben, sodass er aus MicroPython nutzbar ist.
Ein DAC-Timed-Write-Beispiel (
dac_write_timed.py) hinzugefügt unddac_control.pyindac_write.pyumbenannt.
Weitere Änderungen und Verbesserungen¶
Das mitgelieferte MicroPython auf 1.12 aktualisiert; den Software-JPEG-Encoder stark optimiert (VGA-Pfad, Graustufen-/Binärpfade, Ganzzahl- statt Gleitkomma-Mathematik, optimierte MCU-Erfassung), LSD-
find_line_segments(), AprilTag-Erkennung,Image.histeq()sowie QR-Code- / RGB-zu-Graustufen-Konvertierung; QSPI-Flash-Unterstützung für Chips bis zu 32 MB hinzugefügt; das veraltete CMSIS-CNN-cnn.py-Beispiel entfernt.
Fehlerbehebungen¶
Kamera und Bildverarbeitung:
JPEG-Kodierungskorruption bei HQQQVGA, die Komprimierung von binären (1-Bit-) Bildern → JPEG, eine
find_line_segments()-Regression (dieNOTDEF-Prüfung für nicht ausgerichtete Werte wieder aktiviert) sowie kleinere OV2640-Treiberprobleme behoben.
System und Boot:
Selbsttest- / Dateisystemkorruption behoben (
selftest.pyläuft jetzt, bevor USB MSC aktiviert wird, und USB MSC wird bei einem fatalen Fehler aktiviert, damit der Host das Fehlerprotokoll lesen kann), daspyb.DAC-write_timed(), die H7-machine.I2C-Timings, die F7-Overdrive-Reaktivierung nach dem Stop-Modus und dasrtc.wakeup()-Intervall vonstop_mode.py.
Hardware- und Board-Unterstützung¶
OV5640 — vollständiger 5 MP-Kameratreiber mit hochauflösenden Framesizes.
OpenMV Cam H7 Plus — UVC- (USB-Video-) Unterstützung; das Board-Target
OPENMV4Rwurde inOPENMV4Pumbenannt.QSPI-Flash — Chips bis zu 32 MB werden jetzt unterstützt.
API-Änderungen mit Breaking-Charakter¶
Für den Benutzer sichtbare API-Brüche zwischen v3.5.2 und v3.6.0. Umfang: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.
Alle drei Breaking Changes sind Verhaltensänderungen (gleiche API, andere Ergebnisse) — überprüfen Sie betroffene Skripte erneut. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.
MicroPython auf 1.12 aktualisiert (Verhalten)¶
Der mitgelieferte MicroPython-Kern wurde auf 1.12 aktualisiert. Standardbibliotheks- und Sprachverhalten folgen dem Upstream-MicroPython 1.12; überprüfen Sie Skripte erneut, die von versionsspezifischem micropython- / Standardmodul-Verhalten abhängen.
Commits: eafd431ea
image.get_histogram()-Schwellenwert-Normalisierung geändert (Verhalten)¶
image.get_histogram() (und get_statistics()) mit Farb-Schwellenwerten normalisiert jetzt nach der Anzahl der schwellenwertgefilterten Pixel statt nach dem gesamten ROI und verwendet Abrunden statt Runden für die Bin-Indizierung. Histogramm-/Statistikwerte für schwellenwertgefilterte Aufrufe unterscheiden sich von früheren Releases — passen Sie Code, der mit absoluten Histogrammwerten verglich, neu an.
Commits: 7cf0f8089
OpenMV 3 JPEG-/Graustufen-Ausgabe geändert (Verhalten)¶
Um Flash zu sparen, wurde die YUV-Lookup-Tabelle der OpenMV 3 (M7) deaktiviert, sodass JPEG- und Graustufen-Ausgabe-Pixelwerte auf der OpenMV 3 geringfügig anders berechnet werden. Die Ausgabe ist weiterhin gültig, unterscheidet sich aber marginal von früheren Releases; überprüfen Sie pixelgenaue Vergleiche auf der OpenMV 3 erneut.
Commits: 0e4b46e41
Migrations-Checkliste¶
Validieren Sie Skripte, die von versionsspezifischem MicroPython-Verhalten abhängen, erneut gegen 1.12 (der MicroPython-Sprung), passen Sie Code, der bei Verwendung von Farb-Schwellenwerten mit absoluten get_histogram()- / get_statistics()-Werten verglich, neu an (die Histogramm-Änderung) und überprüfen Sie pixelgenaue Vergleiche auf der OpenMV 3 erneut (die OpenMV-3-Ausgabeänderung). Alle anderen Skripte laufen unverändert weiter.