v4.5.3¶
A v4.5.3 egy nagy kiadás: OV5640 automatikus fókusz, élsimított vonalrajzolás, a fő ágba került hardveres JPEG-dekóder, jelentős i.MX RT (RT1060) képességbővítés, valamint a kamera/ISP hibajavítások széles köre. Néhány ritkán használt képmetódust eltávolítottunk, és bizonyos ISP/kijelző API-k megváltoztak — olvasd el az alábbi törő változtatásokat.
Kiemelt újdonságok¶
OV5640 automatikus fókusz — engedélyezve az OpenMV 4 / 4 Plus / RT1060 eszközökön (
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)), példával együtt.Élsimított
draw_line()és a fő ágba került STM32 hardveres JPEG-dekóder (gyorsabb JPEG-dekompresszió).Az OpenMV RT1060 megkapta a ulab könyvtárat, az ISP műveleteket, a
set_framerate()/set_frame_callback()függvényeket, egy sokkal nagyobb képkocka-puffert és a CAN illesztőprogramot.Törő változás: az
Image.div()/cartoon()/mul()metódusokat eltávolítottuk, és néhány ISP/kijelző API megváltozott — lásd a törő változtatásokat.
Új funkciók¶
OV5640 automatikus fókusz — az automatikus fókusz firmware engedélyezve van az OPENMV4, OPENMV4P és OPENMV RT1060 eszközökön; a
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)hívással indítható. Egy új07-Sensor-Control/autofocus.pypéldát is hozzáadtunk.Élsimított vonalrajzolás — a
draw_line()élsimítást kapott.Egyedi SPI kijelzővezérlők — a
SPIDisplaymostantól elfogad egycontroller=kulcsszót, és egybus_writehorgot tesz elérhetővé az egyedi inicializáló/parancs szekvenciákhoz.Image.ccm()bővítés — mostantól elfogad beágyazott 3x3 / 4x3 / 3x4 / 4x4 mátrixokat és ulab tömböket (opcionális, csatornánkénti eltolás sorral); egy színkorrekciós példát is hozzáadtunk.i.MX RT JPEG-rögzítés —
sensor.JPEGrögzítés az Arduino Portenta/Nicla Vision/Giga eszközökön, valamintset_framerate()ésset_frame_callback()a mimxrt porton.TFLite modell-érvényesítés — a modellek mostantól egy operátorsorrend-hasht és egy operátorkészlet-méretet hordoznak.
WiFi — hozzáadtuk a CYW43 biztonsági mód konstansokat; új i.MX RT lapvezérlő példaszkriptek (Pin/ADC/CAN/I2C/PWM/SPI/UART/…).
Egyéb változások és fejlesztések¶
A MicroPython 1.22-re frissült; a CMSIS 5.9.0-ra frissült.
A fő ágba került STM32 hardveres JPEG-dekóder — gyorsabb JPEG-dekompresszió a chipen lévő kodeken.
Optimalizáltuk az
Image.invert()/negate()metódusokat, valamint a bináris/matematikai képműveleteket (CMSIS intrinsics).Az
rpcésvl53l1xkönyvtárakat hordozhatóvá tettük (apybhelyett amachine/timemodulokat használják), így nem STM32 portokon is futnak.DMA-gyorsított képkocka-puffer memcpy az OpenMV H7 / H7 Plus / Pro / Pure Thermal és Arduino Giga / Nicla Vision / Portenta H7 eszközökön; az STM32 mostantól keresésenként egyszer pásztázza az I2C eszközöket a gyorsabb indulás érdekében.
Hibajavítások¶
Kamera és érzékelők:
Javítottuk az STM32 kamera XCLK-ját valódi 50%-os kitöltési tényezőre, valamint egy hibát, amikor a kamera órajel-frekvenciája nullára van állítva; javítottuk a Bayer kivágás+transzponálást, a YUV422 színeltolódást és a
set_windowing()működését a mimxrt porton.Javítottuk a GC2145 chip-ID lekérdezést és a hmirror/vflip működését elforgatott szerelvényeken; javítottuk a PAJ6100 működését az RT1062-n, valamint egy PixArt PAJ7620/PAW3902 SPI puffertúlcsordulást.
Képfeldolgozás:
Javítottuk a
find_rects()roi vágását, amorph()tört eltolás csonkolását, azimage.gamma()kontraszt/fényerő alapértékeit, aget_threshold()A/B eltolásokat RGB565-ön, valamint a 8-cal nem osztható méretű képek JPEG-dekódolását.
Rendszer és könyvtárak:
A
machine.LED.value()argumentum nélkül mostantól a LED állapotát adja vissza ahelyett, hogy törölné azt; javítottuk az SPI SSEL deinit működését megosztott buszon, amachine.deepsleep()függvényt az RT1062-n, egy TF összeomlást hiányzó operátorok esetén, valamint a WINC1500/ninaw10 NIC automatikus aktiválásátconnect()híváskor.
Hardver- és laptámogatás¶
OpenMV RT1060 — engedélyezett ulab és ISP műveletek, nagyobb képkocka-puffer (10M→20M) / fb_alloc (2M→11M), visszaállított CAN illesztőprogram, több heap.
Arduino GIGA — GC2145 kamera támogatás, GC2145/OV5640 automatikus felismeréssel (közös I2C címen osztoznak).
i.MX RT —
sensor.JPEGrögzítés támogatása.
Törő API-változtatások¶
A felhasználó számára látható API-törések a v4.5.2 és a v4.5.3 között. Hatókör: a modules/ mappában lévő Python C-modulok és a scripts/libraries/ mappában lévő Python könyvtárak.
Minden változtatás meg van jelölve a hatásával:
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — azonos API, eltérő eredmények; ellenőrizd újra a finomhangolt szkripteket.
A változtatások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak portolni szeretnéd a kódodat, ugorj a végén lévő migrációs ellenőrzőlistára. Minden commit hash a GitHubon lévő diffjére hivatkozik.
Eltávolított képmetódusok (minor)¶
Az Image.div(), Image.cartoon() (és a hozzá tartozó példa), valamint az Image.mul() metódusokat eltávolítottuk.
Kijelző modul API (minor)¶
A régi udisplay modulnév-tartalék eltávolításra került — a modul kizárólag display néven van regisztrálva. A csak DSI-hez tartozó dsi_write() / dsi_read() metódusokat a bus_write() / bus_read() váltotta fel, amelyek mostantól minden kijelzővezérlőn elérhetők.
MQTT és tf.regression API-változtatások (minor)¶
A mqtt könyvtár MQTTClient osztályát átdolgoztuk: a port mostantól kötelező, új ssl_params / callback konstruktor kulcsszavakat és egy timeout argumentumot adtunk a connect() híváshoz, a régi ssl= / port=0 alapértékeket eltávolítottuk, a check_msg() pedig mostantól nem blokkoló. A tf.regression() újraírásra került — a szignatúrája mostantól regression(model, array), és kezeli az 1D/2D/3D, valamint a kvantált (int8) modelleket.
ISP / érzékelő viselkedési változások (behavior)¶
Az Image.awb() átdolgozásra került — a szürke-világ (alapértelmezett) és a fehér-folt (max=True) módok közötti választás mostantól explicit, a max argumentum, valamint az Image.gamma() gamma / contrast / brightness argumentumai mostantól csak kulcsszóként adhatók meg (a pozicionális hívásokat frissíteni kell). A kép transzponálása mostantól le van tiltva YUV422 esetén (korábban hibás kimenetet adott), és a YUV422 színeltolódást a Bayerhez igazítottuk. Az STM32 JPEG útvonal mostantól hibát jelez JPEG geometria-eltérés esetén, ahelyett hogy sérült képet állítana elő, a WiFi AP mód pedig mostantól alapértelmezett biztonsági módot alkalmaz az STM32 és i.MX RT portokon.
Commitek: 36d5cecbd, 00500ccde, c1eeaefd6, 333fb2b5f, 55cab8733, c7d40f6af
Migrációs ellenőrzőlista¶
A v4.5.3-ra való tiszta portoláshoz a tipikus teendők:
Ne használd többé az
Image.div()/cartoon()/mul()metódusokat (az eltávolított metódusok).Importáld a kijelző modult
displaynéven, és váltsd át adsi_write/dsi_readhívásokatbus_write/bus_readhívásokra (a kijelző API-változás).Frissítsd az
MQTTClientlétrehozását (aportkötelező;ssl_params/callback) és mindentf.regression()hívást (a könyvtár API-változások).Add át az
awb()maxés agamma()gamma/contrast/brightnessargumentumait kulcsszó-argumentumként, és ellenőrizd újra a YUV422/transzponálással és az AP mód biztonságával kapcsolatos feltételezéseket (az ISP/érzékelő változások).