v4.4.3¶
v4.4.3 introduce placa OpenMV RT1060 (NXP i.MX RT1060), un API de înregistrare MJPEG mult extins, metode noi de imagine ISP (balans automat de alb, matrice de corecție a culorilor, gamma) și MicroPython 1.20. Numele plăcilor Arduino au fost schimbate, iar valorile implicite MJPEG s-au modificat — citiți modificările incompatibile de mai jos.
Aspecte importante¶
OpenMV RT1060 — placă nouă NXP i.MX RT1060 (și o revizie REV2).
API MJPEG extins —
write(),count,is_closed,sync(), cuvinte-cheie ROI/palette/alpha și un finalizator.Metode ISP noi —
image.awb(),image.ccm(),image.gamma().MicroPython actualizat la 1.20.0.
Incompatibil: țintele de placă Arduino au fost redenumite, iar calitatea MJPEG implicită s-a schimbat — vedeți modificările incompatibile.
Funcționalități noi¶
OpenMV RT1060 — port complet NXP i.MX RT1060 (drivere de senzor, GPIO, I2C, SPI) și configurație de placă, plus suport pentru revizia REV2 a plăcii RT1060 și alarmă/trezire
machine.RTCpe portul i.MX RT.MJPEG — o nouă metodă
Mjpeg.write()(cu cuvintele-cheieroi,rgb_channel,alpha,color_palette,alpha_palette,hint) pluscount,is_closed,sync()și un finalizator__del__, precum și aliasurile de constructorMJPEG/Mjpeg/mjpeg.Metode de imagine ISP —
image.awb([max])(balans automat de alb),image.ccm(matrix)(matrice de corecție a culorilor 3x3 / 4x3) șiimage.gamma(gamma, contrast, brightness).AprilTag — noi atribute de centroid în virgulă mobilă
cxf/cyf(cx/cyreturnează în continuare numere întregi rotunjite).ML —
tf.regression()acceptă acum un ndarray ulab și suportă tensori de intrare 2D (1D este încă suportat); operații TensorFlow Lite suplimentare au fost activate în bibliotecilelibtfincluse.
Alte modificări și îmbunătățiri¶
MicroPython actualizat la 1.20.0; ulab actualizat la 6.0.12.
image.gamma/gamma_corrau fost reproiectate ca metodă ISP și extinse pentru a suporta imagini Bayer și YUV (nu doar imagini mutabile).Plăcile STM32 (Portenta H7, Nicla Vision) au trecut la driverul WiFi cyw43 open-source.
Biblioteca
rtspa fost făcută portabilă (foloseșterandom/timeîn loc depyb);urequestsîși închide acum întotdeauna socket-ul.
Corecturi de erori¶
Cameră și senzori:
S-au corectat rata ceasului OV767x (CLKRC) pe Arduino Nano 33 BLE Sense, gestionarea bypass/prescaler-ului CLKRC al OV7670 și liniile de date D0/D1 inversate pe Arduino Nicla Vision / kitul ML (portul nrf).
Sistem și USB:
S-a corectat gestionarea pachetelor USB scurte în modul de depanare TinyUSB (transferuri IDE/gazdă mai fiabile).
S-au corectat polaritatea LED-ului care clipește pe OpenMV RT1060 și detectarea cardului SD la pornire.
Suport hardware și plăci¶
OpenMV RT1060 — placă nouă NXP i.MX RT1060, plus revizia REV2.
STM32 — Portenta H7 / Nicla Vision au trecut la driverul WiFi cyw43 open-source.
Modificări incompatibile ale API-ului¶
Modificări incompatibile ale API-ului vizibile pentru utilizator între v4.4.2 și v4.4.3. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.
Fiecare modificare este etichetată cu impactul său:
comportament — același API, rezultate diferite; reverificați scripturile reglate fin.
tooling — afectează denumirea/flash-area plăcilor, nu API-ul Python.
Modificările sunt grupate după impact în această ordine. Fiecare hash de commit are legătură către diff-ul său de pe GitHub.
Valorile implicite MJPEG și gestionarea erorilor (comportament)¶
Codul de înregistrare MJPEG a fost revizuit. Valoarea implicită quality JPEG pentru add_frame() / write() a fost ridicată de la 50 la 90 (înregistrările sunt în mod implicit mai mari și de calitate superioară), o calitate invalidă ridică acum ValueError, operarea pe un fișier închis ridică acum OSError, iar metodele de înregistrare returnează acum obiectul Mjpeg. Scripturile care depindeau de vechea calitate implicită sau de comportamentul anterior la erori ar trebui reverificate.
Commit: 3fc55ad31
Țintele de placă Arduino redenumite (tooling)¶
Țintele de placă Arduino au fost redenumite conform unei convenții de denumire actualizate și toate manifestele de placă (seturile de module înghețate) au fost reîmprospătate. Aceasta nu schimbă API-ul Python, dar numele de fișiere/plăci de firmware folosite pentru a construi sau a flash-ui plăcile Arduino s-au schimbat — actualizați-vă tooling-ul în consecință.
Lista de verificare pentru migrare¶
Pentru o portare curată la v4.4.3: reverificați înregistrările MJPEG pentru noua calitate implicită și comportamentul la erori (modificarea MJPEG) și actualizați tooling-ul de construire/flash pentru țintele de placă Arduino redenumite (redenumirea plăcilor). Toate celelalte scripturi rulează nemodificate.