v3.6.0¶
v3.6.0 přináší plnou podporu 5MP kamery OV5640 s novými velikostmi snímků o vysokém rozlišení (HD / FHD / QHD / QXGA / WQXGA), aktualizuje jádro na MicroPython 1.12, výrazně optimalizuje softwarový JPEG enkodér a detekci AprilTag / čar, přidává UVC (USB video) na OpenMV Cam H7 Plus a podporuje QSPI flash paměť až do 32 MB. Chování MicroPythonu a get_histogram() se změnilo — přečtěte si nekompatibilní změny níže.
Hlavní novinky¶
OV5640 5 MP — plný ovladač kamery s novými velikostmi snímků HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — přibalené jádro bylo aktualizováno.
Rychlejší pipeline — výrazně optimalizováno softwarové kódování JPEG, detekce AprilTag, detekce čar LSD,
histeq()a dekódování QR kódů.UVC na H7 Plus — OpenMV Cam H7 Plus může fungovat jako USB video zařízení.
Nekompatibilní: chování MicroPythonu, normalizace
image.get_histogram()a výstup JPEG/stupně šedi na OpenMV 3 se změnily — viz nekompatibilní změny.
Nové funkce¶
OV5640 — přidána plná podpora 5MP kamery OV5640 (konfigurace externích hodin v inicializaci senzoru) a nové konstanty velikostí snímků
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — uvolněn, takže je použitelný z MicroPythonu.
Přidán příklad časovaného zápisu DAC (
dac_write_timed.py) adac_control.pypřejmenován nadac_write.py.
Další změny a vylepšení¶
Aktualizován přibalený MicroPython na 1.12; výrazně optimalizován softwarový JPEG enkodér (cesta VGA, cesty stupně šedi/binární, celočíselná místo desetinné matematiky, optimalizováno zachycení MCU), LSD
find_line_segments(), detekce AprilTag,Image.histeq()a převod QR kódů / RGB na stupně šedi; přidána podpora QSPI flash pro čipy až do 32 MB; odstraněn zastaralý příklad CMSIS-CNNcnn.py.
Opravy chyb¶
Kamera a zpracování obrazu:
Opraveno poškození kódování JPEG při HQQQVGA, komprese binárního (1bitového) obrazu → JPEG, regrese
find_line_segments()(znovu povolena nezarovnaná kontrolaNOTDEF) a drobné problémy ovladače OV2640.
Systém a zavádění:
Opraveno poškození autotestu / souborového systému (
selftest.pyse nyní spustí před povolením USB MSC a USB MSC se povolí při fatální chybě, aby si hostitel mohl přečíst protokol chyb),pyb.DACwrite_timed(), časování H7machine.I2C, opětovné povolení overdrive F7 po stop režimu a intervalrtc.wakeup()vstop_mode.py.
Hardware a podpora desek¶
OV5640 — plný ovladač 5MP kamery s velikostmi snímků o vysokém rozlišení.
OpenMV Cam H7 Plus — podpora UVC (USB video); cíl desky
OPENMV4Rbyl přejmenován naOPENMV4P.QSPI flash — nyní jsou podporovány čipy až do 32 MB.
Nekompatibilní změny API¶
Pro uživatele viditelné nekompatibilní změny API mezi v3.5.2 a v3.6.0. Rozsah: Python C-moduly v modules/ a knihovny Pythonu v scripts/libraries/.
Všechny tři nekompatibilní změny jsou změny chování (stejné API, jiné výsledky) — překontrolujte dotčené skripty. Každý hash commitu odkazuje na svůj diff na GitHubu.
MicroPython aktualizován na 1.12 (chování)¶
Přibalené jádro MicroPythonu bylo aktualizováno na 1.12. Chování standardní knihovny a jazyka odpovídá upstream MicroPython 1.12; překontrolujte skripty, které závisí na chování micropython / standardních modulů specifickém pro danou verzi.
Commity: eafd431ea
Normalizace prahu image.get_histogram() se změnila (chování)¶
image.get_histogram() (a get_statistics()) s barevnými prahy nyní normalizuje podle počtu prahovaných pixelů namísto celé ROI a pro indexování binů používá floor místo zaokrouhlení. Hodnoty histogramu/statistik u prahovaných volání se liší od předchozích verzí — znovu vylaďte kód, který porovnával s absolutními hodnotami histogramu.
Commity: 7cf0f8089
Výstup JPEG/stupně šedi na OpenMV 3 se změnil (chování)¶
Kvůli úspoře flash paměti byla na OpenMV 3 (M7) zakázána vyhledávací tabulka YUV, takže hodnoty pixelů výstupu JPEG a stupňů šedi jsou na OpenMV 3 počítány mírně odlišně. Výstup je stále platný, ale nepatrně se liší od předchozích verzí; překontrolujte porovnání s přesností na pixel na OpenMV 3.
Commity: 0e4b46e41
Kontrolní seznam migrace¶
Znovu ověřte skripty, které závisí na chování MicroPythonu specifickém pro danou verzi, vůči 1.12 (aktualizace MicroPythonu), znovu vylaďte kód, který porovnával s absolutními hodnotami get_histogram() / get_statistics() při použití barevných prahů (změna histogramu), a překontrolujte porovnání s přesností na pixel na OpenMV 3 (změna výstupu OpenMV 3). Všechny ostatní skripty poběží beze změn.