v4.4.3

v4.4.3 představuje desku OpenMV RT1060 (NXP i.MX RT1060), výrazně rozšířené API pro nahrávání MJPEG, nové ISP metody obrazu (automatické vyvážení bílé, matice barevné korekce, gama) a MicroPython 1.20. Změnily se názvy Arduino desek a výchozí hodnoty MJPEG — přečtěte si přelomové změny níže.

Nejdůležitější novinky

  • OpenMV RT1060 — nová deska NXP i.MX RT1060 (a revize REV2).

  • Rozšířené API MJPEGwrite(), count, is_closed, sync(), klíčová slova ROI/palette/alpha a finalizér.

  • Nové ISP metodyimage.awb(), image.ccm(), image.gamma().

  • MicroPython aktualizován na 1.20.0.

  • Přelomové: Arduino cíle desek byly přejmenovány a změnila se výchozí kvalita MJPEG — viz přelomové změny.

Nové funkce

  • OpenMV RT1060 — kompletní port NXP i.MX RT1060 (ovladače senzoru, GPIO, I2C, SPI) a konfigurace desky, plus podpora revize desky RT1060 REV2 a machine.RTC alarm/probuzení na portu i.MX RT.

  • MJPEG — nová metoda Mjpeg.write() (s klíčovými slovy roi, rgb_channel, alpha, color_palette, alpha_palette, hint) plus count, is_closed, sync() a finalizér __del__ a konstruktorové aliasy MJPEG / Mjpeg / mjpeg.

  • ISP metody obrazuimage.awb([max]) (automatické vyvážení bílé), image.ccm(matrix) (3x3 / 4x3 matice barevné korekce) a image.gamma(gamma, contrast, brightness).

  • AprilTag — nové atributy centroidu s plovoucí desetinnou čárkou cxf / cyf (cx / cy stále vracejí zaokrouhlená celá čísla).

  • MLtf.regression() nyní přijímá ulab ndarray a podporuje 2D vstupní tenzory (1D je stále podporováno); v přibalených knihovnách libtf byly povoleny další operace TensorFlow Lite.

Další změny a vylepšení

  • MicroPython aktualizován na 1.20.0; ulab aktualizován na 6.0.12.

  • image.gamma / gamma_corr přepracováno jako ISP metoda a rozšířeno o podporu Bayer a YUV obrazů (nejen měnitelných obrazů).

  • Desky STM32 (Portenta H7, Nicla Vision) přešly na open-source WiFi ovladač cyw43.

  • Knihovna rtsp byla učiněna přenositelnou (používá random/time místo pyb); urequests nyní vždy zavírá svůj socket.

Opravy chyb

Kamera a senzory:

  • Opravena frekvence hodin OV767x (CLKRC) na Arduino Nano 33 BLE Sense, zpracování CLKRC bypass/pre-scaler u OV7670 a prohozené datové linky D0/D1 na Arduino Nicla Vision / ML kit (nrf port).

Systém a USB:

  • Opraveno zpracování krátkých USB paketů v režimu ladění TinyUSB (spolehlivější přenosy IDE/hostitel).

  • Opravena polarita blikající LED na OpenMV RT1060 a detekce SD karty při zapnutí napájení.

Hardware a podpora desek

  • OpenMV RT1060 — nová deska NXP i.MX RT1060, plus revize REV2.

  • STM32 — Portenta H7 / Nicla Vision přešly na open-source WiFi ovladač cyw43.

Přelomové změny API

Pro uživatele viditelné změny API mezi v4.4.2 a v4.4.3. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.

Každá změna je označena svým dopadem:

  • behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.

  • tooling — ovlivňuje pojmenování / flashování desek, nikoli Python API.

Změny jsou seskupeny podle dopadu v tomto pořadí. Každý hash commitu odkazuje na svůj diff na GitHubu.

Výchozí hodnoty a zpracování chyb MJPEG (behavior)

Kód nahrávání MJPEG byl přepracován. Výchozí JPEG quality u add_frame() / write() byla zvýšena z 50 na 90 (nahrávky jsou ve výchozím nastavení větší a kvalitnější), neplatná kvalita nyní vyvolá ValueError, operace nad zavřeným souborem nyní vyvolá OSError a metody nahrávání nyní vracejí objekt Mjpeg. Skripty, které závisely na staré výchozí kvalitě nebo na předchozím chování chyb, je třeba znovu zkontrolovat.

Commit: 3fc55ad31

Přejmenování Arduino cílů desek (tooling)

Arduino cíle desek byly přejmenovány na aktualizovanou konvenci pojmenování a všechny manifesty desek (sady zmrazených modulů) byly obnoveny. Toto nemění Python API, ale názvy firmwarových souborů/desek používané k sestavení nebo flashování Arduino desek se změnily — aktualizujte tomu odpovídajícím způsobem své nástroje.

Commity: 77a7d16c0, 59d9f2603

Kontrolní seznam migrace

Pro čistý přenos na v4.4.3: znovu zkontrolujte MJPEG nahrávky kvůli nové výchozí kvalitě a chování chyb (změna MJPEG) a aktualizujte nástroje pro sestavení/flashování pro přejmenované Arduino cíle desek (přejmenování desek). Všechny ostatní skripty běží beze změny.