v4.4.3¶
v4.4.3 introduceert het OpenMV RT1060 (NXP i.MX RT1060)-bord, een sterk uitgebreide MJPEG-opname-API, nieuwe ISP-afbeeldingsmethoden (automatische witbalans, kleurcorrectiematrix, gamma) en MicroPython 1.20. Arduino-bordnamen zijn gewijzigd en de MJPEG-standaardwaarden zijn verschoven — lees de breaking changes hieronder.
Hoogtepunten¶
OpenMV RT1060 — nieuw NXP i.MX RT1060-bord (en een REV2-revisie).
Uitgebreide MJPEG-API —
write(),count,is_closed,sync(), ROI-/palet-/alpha-keywords, en een finalizer.Nieuwe ISP-methoden —
image.awb(),image.ccm(),image.gamma().MicroPython bijgewerkt naar 1.20.0.
Breaking: Arduino-bordtargets zijn hernoemd en de standaard MJPEG-kwaliteit is gewijzigd — zie de breaking changes.
Nieuwe functies¶
OpenMV RT1060 — volledige NXP i.MX RT1060-port (sensor-, GPIO-, I2C-, SPI-drivers) en bordconfiguratie, plus ondersteuning voor de RT1060 REV2-bordrevisie en
machine.RTCalarm/wakeup op de i.MX RT-port.MJPEG — een nieuwe
Mjpeg.write()-methode (metroi-,rgb_channel-,alpha-,color_palette-,alpha_palette-,hint-keywords) pluscount,is_closed,sync()en een__del__-finalizer, enMJPEG/Mjpeg/mjpegconstructor-aliassen.ISP-afbeeldingsmethoden —
image.awb([max])(automatische witbalans),image.ccm(matrix)(3x3 / 4x3 kleurcorrectiematrix) enimage.gamma(gamma, contrast, brightness).AprilTag — nieuwe drijvende-komma-zwaartepuntattributen
cxf/cyf(cx/cyretourneren nog steeds afgeronde gehele getallen).ML —
tf.regression()accepteert nu een ulab-ndarray en ondersteunt 2D-invoertensoren (1D wordt nog steeds ondersteund); extra TensorFlow Lite-ops zijn ingeschakeld in de meegeleverdelibtf-bibliotheken.
Overige wijzigingen en verbeteringen¶
MicroPython bijgewerkt naar 1.20.0; ulab bijgewerkt naar 6.0.12.
image.gamma/gamma_corrherwerkt als een ISP-methode en uitgebreid om Bayer- en YUV-afbeeldingen te ondersteunen (niet alleen muteerbare afbeeldingen).STM32-borden (Portenta H7, Nicla Vision) overgeschakeld naar de opensource cyw43 WiFi-driver.
De
rtsp-bibliotheek is portabel gemaakt (gebruiktrandom/timein plaats vanpyb);urequestssluit nu altijd zijn socket.
Bugfixes¶
Camera en sensoren:
OV767x-kloksnelheid (CLKRC) op de Arduino Nano 33 BLE Sense, OV7670 CLKRC bypass-/pre-scaler-afhandeling, en omgewisselde D0/D1-datalijnen op de Arduino Nicla Vision / ML-kit (nrf-port) gecorrigeerd.
Systeem en USB:
Afhandeling van korte USB-pakketten in TinyUSB-debugmodus gecorrigeerd (betrouwbaardere IDE-/hostoverdrachten).
De polariteit van de knipperende LED van de OpenMV RT1060 en SD-kaartdetectie bij inschakelen gecorrigeerd.
Hardware- en bordondersteuning¶
OpenMV RT1060 — nieuw NXP i.MX RT1060-bord, plus de REV2-revisie.
STM32 — Portenta H7 / Nicla Vision overgezet naar de opensource cyw43 WiFi-driver.
Breaking API-wijzigingen¶
Voor gebruikers zichtbare API-breaks tussen v4.4.2 en v4.4.3. Bereik: Python C-modules in modules/ en Python-bibliotheken in scripts/libraries/.
Elke wijziging is gemarkeerd met de impact ervan:
behavior — dezelfde API, andere resultaten; controleer afgestemde scripts opnieuw.
tooling — treft bordbenaming / flashen, niet de Python-API.
Wijzigingen zijn op impact gegroepeerd in die volgorde. Elke commit-hash linkt naar de bijbehorende diff op GitHub.
MJPEG-standaardwaarden en foutafhandeling (behavior)¶
De MJPEG-opnamecode is herzien. De standaard add_frame() / write() JPEG-quality is verhoogd van 50 naar 90 (opnamen zijn standaard groter en van hogere kwaliteit), een ongeldige kwaliteit werpt nu ValueError, het bewerken van een gesloten bestand werpt nu OSError, en de opnamemethoden retourneren nu het Mjpeg-object. Scripts die afhankelijk waren van de oude standaardkwaliteit of het vorige foutgedrag moeten opnieuw worden gecontroleerd.
Commit: 3fc55ad31
Arduino-bordtargets hernoemd (tooling)¶
De Arduino-bordtargets zijn hernoemd naar een bijgewerkte naamgevingsconventie en alle bordmanifesten (frozen module-sets) zijn vernieuwd. Dit verandert de Python-API niet, maar de firmwarebestand-/bordnamen die worden gebruikt om Arduino-borden te bouwen of te flashen zijn gewijzigd — werk je tooling dienovereenkomstig bij.
Migratiechecklist¶
Voor een schone port naar v4.4.3: controleer MJPEG-opnamen opnieuw op de nieuwe standaardkwaliteit en het foutgedrag (de MJPEG-wijziging), en werk de build-/flash-tooling bij voor de hernoemde Arduino-bordtargets (de bordhernoeming). Alle andere scripts draaien ongewijzigd.