v4.4.3¶
v4.4.3 introducerar kortet OpenMV RT1060 (NXP i.MX RT1060), ett kraftigt utökat API för MJPEG-inspelning, nya ISP-bildmetoder (automatisk vitbalans, färgkorrigeringsmatris, gamma) samt MicroPython 1.20. Arduino-kortnamnen ändrades och MJPEG-standardvärdena skiftade — läs de bakåtinkompatibla ändringarna nedan.
Höjdpunkter¶
OpenMV RT1060 — nytt NXP i.MX RT1060-kort (och en REV2-revision).
Utökat MJPEG-API —
write(),count,is_closed,sync(), nyckelorden ROI/palette/alpha samt en finalizer.Nya ISP-metoder —
image.awb(),image.ccm(),image.gamma().MicroPython uppdaterad till 1.20.0.
Bakåtinkompatibelt: Arduino-kortmålen döptes om och MJPEG:s standardkvalitet ändrades — se de bakåtinkompatibla ändringarna.
Nya funktioner¶
OpenMV RT1060 — fullständig NXP i.MX RT1060-port (sensor-, GPIO-, I2C-, SPI-drivrutiner) och kortkonfiguration, plus stöd för kortrevisionen RT1060 REV2 och
machine.RTC-alarm/väckning på i.MX RT-porten.MJPEG — en ny metod
Mjpeg.write()(med nyckelordenroi,rgb_channel,alpha,color_palette,alpha_palette,hint) pluscount,is_closed,sync()och en__del__-finalizer, samt konstruktoraliasenMJPEG/Mjpeg/mjpeg.ISP-bildmetoder —
image.awb([max])(automatisk vitbalans),image.ccm(matrix)(3x3-/4x3-färgkorrigeringsmatris) ochimage.gamma(gamma, contrast, brightness).AprilTag — nya flyttalsattribut för tyngdpunkt
cxf/cyf(cx/cyreturnerar fortfarande avrundade heltal).ML —
tf.regression()accepterar nu en ulab-ndarray och stöder 2D-indatatensorer (1D stöds fortfarande); ytterligare TensorFlow Lite-operationer aktiverades i de medföljandelibtf-biblioteken.
Övriga ändringar och förbättringar¶
MicroPython uppdaterad till 1.20.0; ulab uppdaterad till 6.0.12.
image.gamma/gamma_corromarbetades till en ISP-metod och utökades med stöd för Bayer- och YUV-bilder (inte bara muterbara bilder).STM32-kort (Portenta H7, Nicla Vision) bytte till den öppna källkods-cyw43-WiFi-drivrutinen.
Biblioteket
rtspgjordes portabelt (använderrandom/timeistället förpyb);urequestsstänger nu alltid sin socket.
Buggfixar¶
Kamera och sensorer:
Åtgärdade OV767x:s klockhastighet (CLKRC) på Arduino Nano 33 BLE Sense, OV7670:s hantering av CLKRC-bypass/förskalare samt omkastade D0/D1-datalinjer på Arduino Nicla Vision / ML-kit (nrf-port).
System och USB:
Åtgärdade hanteringen av korta USB-paket i TinyUSB-felsökningsläge (mer tillförlitliga IDE-/värdöverföringar).
Åtgärdade polariteten för den blinkande lysdioden på OpenMV RT1060 och SD-kortsdetekteringen vid påslagning.
Maskinvaru- och kortstöd¶
OpenMV RT1060 — nytt NXP i.MX RT1060-kort, plus REV2-revisionen.
STM32 — Portenta H7 / Nicla Vision flyttades till den öppna källkods-cyw43-WiFi-drivrutinen.
Bakåtinkompatibla API-ändringar¶
Användarsynliga API-brott mellan v4.4.2 och v4.4.3. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.
Varje ändring är märkt med sin påverkan:
behavior — samma API, andra resultat; kontrollera finjusterade skript på nytt.
tooling — påverkar kortnamngivning / flashning, inte Python-API:t.
Ändringarna är grupperade efter påverkan i den ordningen. Varje commit-hash länkar till sin diff på GitHub.
MJPEG-standardvärden och felhantering (behavior)¶
Koden för MJPEG-inspelning gjordes om grundligt. Standardvärdet för JPEG quality i add_frame() / write() höjdes från 50 till 90 (inspelningar blir större och håller högre kvalitet som standard), en ogiltig kvalitet genererar nu ValueError, åtgärder på en stängd fil genererar nu OSError, och inspelningsmetoderna returnerar nu Mjpeg-objektet. Skript som var beroende av den gamla standardkvaliteten eller det tidigare felbeteendet bör kontrolleras på nytt.
Commit: 3fc55ad31
Arduino-kortmål omdöpta (tooling)¶
Arduino-kortmålen döptes om till en uppdaterad namnkonvention och alla kortmanifest (frysta moduluppsättningar) uppdaterades. Detta ändrar inte Python-API:t, men de fasta programvarornas fil-/kortnamn som används för att bygga eller flasha Arduino-kort ändrades — uppdatera dina verktyg därefter.
Migreringschecklista¶
För en ren portning till v4.4.3: kontrollera MJPEG-inspelningar på nytt för den nya standardkvaliteten och det nya felbeteendet (MJPEG-ändringen), och uppdatera bygg-/flashverktyg för de omdöpta Arduino-kortmålen (kortomdöpningen). Alla andra skript körs oförändrade.