v2.8.0¶
v2.8.0 je obrovské vydání. Uvádí do provozu OpenMV Cam H7 (STM32H7) s hardwarovým JPEG enkodérem a H7 ADC/DAC, přináší rozsáhlé přepracování API image (tloušťka/výplně kreslení, matematické/binární operace, řada nových filtrů, Otsu prahování), vlákna v MicroPythonu a verzovací modul omv. Pořadí parsování argumentů v Pythonu bylo uzamčeno a image.mask_ellipse() byl odstraněn — přečtěte si nekompatibilní změny níže.
Hlavní novinky¶
OpenMV Cam H7 — nová deska STM32H7 s hardwarovým JPEG enkodérem a H7 ADC / DAC.
Přepracování
image— tloušťka čar, výplně tvarů,draw_arrow()/draw_image(), plné matematické/binární operace a řada nových filtrů.Otsu prahování —
histogram.get_threshold()a objektThreshold.Vlákna — podpora MicroPython
_thread.Modul
omv— informace o verzi / desce.Nekompatibilní: pořadí poziční argumentů v Pythonu je nyní striktní a
image.mask_ellipse()byl odstraněn — viz nekompatibilní změny.
Nové funkce¶
OpenMV Cam H7 — podpora desky STM32H7 s hardwarovým JPEG enkodérem, H7 ADC a H7 DAC.
Kreslení — přidána
thicknessčáry,filltvaru (obdélník / kruh),scale/ kerning textu, klíčové slovomono_spaceudraw_string(),image.draw_arrow()aimage.draw_image()(kreslení sprite / masky).Matematické operace — přidány
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(shmirror/vflip/mask) aremove_shadows(); základní operace nyní přijímají skalární/barevnou hodnotu aplikovanou na všechny pixely.Binární / morfologie — nový typ binárního obrazu a
binary(); operace s čarami aerode()/dilate()přijímají masky; přidányopen()/close()/top_hat()/black_hat().Filtry — přidány
cartoon,flood_fill,bilateral,laplacian, aliasyblur/gaussian_blura adaptivní ekvalizace histogramu (histeq(adaptive=, clip_limit=, mask=)).Statistika —
get_statistics()/get_histogram()přijímají seznam barevných prahů ainvert; přidány Otsuhistogram.get_threshold()a objektThreshold.CMSIS CNN — přidán
image.classify_object()s příklademcnn.py(nahrazen modulemnnve v3.0.0).Vlákna — povolen modul MicroPython
_thread.Modul
omv— přidány informace o verzi (version_string,arch,board_type,board_id); povolena sběrnice I2C4 modulumachinea speciální matematické funkce (erf,gamma, …); přidány příklady s motor-shieldem a řada nových příkladových skriptů.
Další změny a vylepšení¶
Externí hodinový takt senzoru H7 byl snížen na 48 MHz (lepší kvalita obrazu, nižší FPS); nízká/vysoká kvalita JPEG je nyní konfigurovatelná podle desky (a vyladěná pro H7); přidáno řízení funkcí
imlib_config.hpodle desky (všechny obrazové funkce zůstávají povolené ve výchozím firmwaru); aktualizován přibalený MicroPython.
Opravy chyb¶
Zpracování obrazu:
Opraveno:
image.save()bez přípony souboru, mapovánígain_db/gain_db_ceilingpro OV2640 / OV7725 / OV9650 / MT9V034, nadměrný zisk vesharpen(), morfologický šum na hranách, dělení nulou v obrazové operaci a pád typu stack-smash při příliš velké velikosti jádra filtru (nyní čistá chyba).
Systém:
Buffer USB VCP chráněn atomickou sekcí (poškození sériové komunikace, #313), opravena konektivita USB ve Windows, připojení interního filesystému na flash paměti při selhání SD karty, hodnota PLLP u
cpufreqset_frequency()a chyba flashování firmwaru v bootloaderu.
Hardware a podpora desek¶
OpenMV Cam H7 (STM32H7) — nová deska s hardwarovým JPEG enkodérem a H7 ADC / DAC.
machine— povolena sběrnice I2C4.
Nekompatibilní změny API¶
Uživatelsky viditelné nekompatibilní změny API mezi v2.7.0 a v2.8.0. Rozsah: Python C-moduly v modules/ a knihovny Pythonu v scripts/libraries/.
Obě nekompatibilní změny jsou minor a ovlivňují pouze skripty, které příslušnou funkci používaly. Každý hash commitu odkazuje na svůj diff na GitHubu.
Pořadí poziční argumentů v Pythonu je nyní striktní (minor)¶
Parsování argumentů napříč Python C-moduly (image / sensor / fir / gif / lcd / mjpeg) nyní čte poziční argumenty před klíčovými a uzamyká poziční pořadí. V kombinaci s novými klíčovými argumenty u kreslicích metod (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() získaly thickness / fill / scale / size) musí kód, který předával parametry pozičně mimo pořadí — nebo předával poziční color po jednom z nových argumentů — používat klíčové argumenty nebo dokumentované poziční pořadí.
image.mask_ellipse() odstraněn (minor)¶
image.mask_ellipse() byl odstraněn. Skripty, které jej volaly, musí volání odstranit nebo místo něj použít explicitní ROI / obraz masky.
Commity: d7159fba3
Kontrolní seznam migrace¶
Předávejte argumenty klíčovým slovem (nebo v dokumentovaném pozičním pořadí), zejména color u kreslicích metod (změna pořadí argumentů), a odstraňte volání image.mask_ellipse() (odstranění mask_ellipse). Všechny ostatní skripty běží beze změny.