v4.4.3¶
A v4.4.3 bevezeti az OpenMV RT1060 (NXP i.MX RT1060) kártyát, egy jelentősen kibővített MJPEG felvételi API-t, új ISP képmetódusokat (automatikus fehéregyensúly, színkorrekciós mátrix, gamma), valamint a MicroPython 1.20-at. Az Arduino kártyanevek megváltoztak és az MJPEG alapértelmezések eltolódtak — olvasd el az alábbi törést okozó változásokat.
Kiemelt változások¶
OpenMV RT1060 — új NXP i.MX RT1060 kártya (és egy REV2 verzió).
Kibővített MJPEG API —
write(),count,is_closed,sync(), ROI/paletta/alfa kulcsszavak és egy finalizáló.Új ISP metódusok —
image.awb(),image.ccm(),image.gamma().A MicroPython 1.20.0-ra frissült.
Törést okozó: az Arduino kártyacélokat átneveztük, és az MJPEG alapértelmezett minősége megváltozott — lásd a törést okozó változásokat.
Új funkciók¶
OpenMV RT1060 — teljes NXP i.MX RT1060 port (érzékelő, GPIO, I2C, SPI illesztőprogramok) és kártyakonfiguráció, valamint az RT1060 REV2 kártyaverzió támogatása és
machine.RTCriasztás/ébresztés az i.MX RT porton.MJPEG — egy új
Mjpeg.write()metódus (roi,rgb_channel,alpha,color_palette,alpha_palette,hintkulcsszavakkal), valamintcount,is_closed,sync()és egy__del__finalizáló, továbbáMJPEG/Mjpeg/mjpegkonstruktor-aliasok.ISP képmetódusok —
image.awb([max])(automatikus fehéregyensúly),image.ccm(matrix)(3x3 / 4x3 színkorrekciós mátrix) ésimage.gamma(gamma, contrast, brightness).AprilTag — új lebegőpontos centroid-attribútumok:
cxf/cyf(acx/cytovábbra is kerekített egész számokat ad vissza).ML — a
tf.regression()mostantól elfogad egy ulab ndarray-t és támogatja a 2D bemeneti tenzorokat (az 1D továbbra is támogatott); további TensorFlow Lite műveletek lettek engedélyezve a beépítettlibtfkönyvtárakban.
Egyéb változások és fejlesztések¶
A MicroPython 1.20.0-ra frissült; az ulab 6.0.12-re.
Az
image.gamma/gamma_corrISP metódusként lett átdolgozva, és kiterjesztve a Bayer és YUV képek támogatására (nem csak a módosítható képekre).Az STM32 kártyák (Portenta H7, Nicla Vision) átálltak a nyílt forráskódú cyw43 WiFi-illesztőprogramra.
Az
rtspkönyvtárat hordozhatóvá tettük (apybhelyett arandom/timemodulokat használja); azurequestsmostantól mindig bezárja a socketjét.
Hibajavítások¶
Kamera és érzékelők:
Javítottuk az OV767x órajel-sebességet (CLKRC) az Arduino Nano 33 BLE Sense-en, az OV7670 CLKRC bypass/előosztó kezelését, valamint a felcserélt D0/D1 adatvonalakat az Arduino Nicla Vision / ML kit-en (nrf port).
Rendszer és USB:
Javítottuk a rövid USB-csomagok kezelését TinyUSB hibakeresési módban (megbízhatóbb IDE/host átvitelek).
Javítottuk az OpenMV RT1060 villogó LED polaritását és az SD-kártya észlelését bekapcsoláskor.
Hardver- és kártyatámogatás¶
OpenMV RT1060 — új NXP i.MX RT1060 kártya, valamint a REV2 verzió.
STM32 — a Portenta H7 / Nicla Vision átállt a nyílt forráskódú cyw43 WiFi-illesztőprogramra.
Törést okozó API-változások¶
A felhasználó számára látható API-törések a v4.4.2 és a v4.4.3 között. Hatókör: Python C-modulok a modules/ mappában és Python könyvtárak a scripts/libraries/ mappában.
Minden változás meg van jelölve a hatásával:
behavior — ugyanaz az API, eltérő eredmények; ellenőrizd újra a finomhangolt szkripteket.
tooling — a kártya elnevezését / flashelését érinti, nem a Python API-t.
A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Minden commit-hash a GitHub-on lévő diffjére hivatkozik.
MJPEG alapértelmezések és hibakezelés (behavior)¶
Az MJPEG felvételi kódot átdolgoztuk. Az alapértelmezett add_frame() / write() JPEG quality értéket 50-ről 90-re emeltük (a felvételek alapértelmezetten nagyobbak és jobb minőségűek), egy érvénytelen minőség mostantól ValueError kivételt vált ki, egy lezárt fájlon végzett művelet mostantól OSError kivételt vált ki, és a felvételi metódusok mostantól az Mjpeg objektumot adják vissza. A régi alapértelmezett minőségtől vagy a korábbi hibaviselkedéstől függő szkripteket újra kell ellenőrizni.
Commit: 3fc55ad31
Arduino kártyacélok átnevezve (tooling)¶
Az Arduino kártyacélokat átneveztük egy frissített elnevezési konvencióra, és az összes kártyamanifesztet (befagyasztott modulkészletet) frissítettük. Ez nem változtatja meg a Python API-t, de az Arduino kártyák építéséhez vagy flasheléséhez használt firmware fájl-/kártyanevek megváltoztak — frissítsd ennek megfelelően az eszközeidet.
Migrációs ellenőrzőlista¶
A v4.4.3-ra való tiszta portoláshoz: ellenőrizd újra az MJPEG felvételeket az új alapértelmezett minőség és hibaviselkedés szempontjából (az MJPEG változás), és frissítsd az építő/flashelő eszközeidet az átnevezett Arduino kártyacélokhoz (a kártya-átnevezés). Az összes többi szkript változatlanul fut.