v2.8.0¶
v2.8.0 je golemo izdanje. Pokreće OpenMV Cam H7 (STM32H7) s hardverskim JPEG koderom te H7 ADC/DAC, donosi veliku preradu image API-ja (debljina/ispune crtanja, matematičke/binarne operacije, mnogo novih filtara, Otsu pragiranje), MicroPython višedretvenost te modul verzije omv. Redoslijed parsiranja Python argumenata je fiksiran, a image.mask_ellipse() je uklonjen — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
OpenMV Cam H7 — nova STM32H7 ploča s hardverskim JPEG koderom te H7 ADC / DAC.
Prerada
image— debljina linije, ispune oblika,draw_arrow()/draw_image(), potpune matematičke/binarne operacije i mnogo novih filtara.Otsu pragiranje —
histogram.get_threshold()iThresholdobjekt.Višedretvenost — MicroPython
_threadpodrška.omvmodul — informacije o verziji / ploči.Narušava kompatibilnost: redoslijed pozicijskih argumenata u Pythonu sada je strog, a
image.mask_ellipse()je uklonjen — pogledajte promjene koje narušavaju kompatibilnost.
Nove značajke¶
OpenMV Cam H7 — podrška za STM32H7 ploču s hardverskim JPEG koderom, H7 ADC te H7 DAC.
Crtanje — dodani su
thicknesslinije,filloblika (pravokutnik / krug),scale/ kerning teksta, ključna riječmono_spacenadraw_string(),image.draw_arrow()teimage.draw_image()(crtanje sprite-a / maske).Matematičke operacije — dodani su
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(shmirror/vflip/mask) teremove_shadows(); osnovne operacije sada prihvaćaju skalarnu vrijednost / vrijednost boje primijenjenu na sve piksele.Binarne / morfološke — novi binarni tip slike i
binary(); operacije nad linijama teerode()/dilate()prihvaćaju maske; dodani suopen()/close()/top_hat()/black_hat().Filtri — dodani su
cartoon,flood_fill,bilateral,laplacian, aliasiblur/gaussian_blurte adaptivno izjednačavanje histograma (histeq(adaptive=, clip_limit=, mask=)).Statistika —
get_statistics()/get_histogram()prihvaćaju popis pragova boja iinvert; dodani su Otsuhistogram.get_threshold()teThresholdobjekt.CMSIS CNN — dodan je
image.classify_object()s primjeromcnn.py(zamijenjen modulomnnu v3.0.0).Višedretvenost — omogućen je MicroPython modul
_thread.omvmodul — dodane su informacije o verziji (version_string,arch,board_type,board_id); omogućeni sumachineI2C4 sabirnica i posebne matematičke funkcije (erf,gamma, …); dodani su primjeri motorske maske te mnogo novih primjera skripti.
Ostale promjene i poboljšanja¶
Vanjski takt H7 senzora snižen je na 48 MHz (bolja kvaliteta slike, niži FPS); niska/visoka JPEG kvaliteta sada se može konfigurirati po ploči (i ugođena je za H7); dodano je odvajanje značajki po ploči pomoću
imlib_config.h(sve funkcije slike ostaju omogućene u tvorničkom ugrađenom programu); ažuriran je priloženi MicroPython.
Ispravci grešaka¶
Obrada slika:
Ispravljeno je
image.save()bez ekstenzije datoteke, mapiranjegain_db/gain_db_ceilingza OV2640 / OV7725 / OV9650 / MT9V034, prekomjerno pojačanje usharpen(), morfološki šum na rubovima, dijeljenje s nulom u jednoj operaciji nad slikom te rušenje uslijed prelijevanja stoga kod prevelike veličine jezgre filtra (sada čista greška).
Sustav:
Zaštićen je USB VCP međuspremnik atomskom sekcijom (oštećenje serijskog prijenosa, #313), ispravljena je USB povezivost na Windowsima, montiranje datotečnog sustava unutarnje flash memorije ako SD kartica zakaže,
cpufreqset_frequency()PLLP vrijednost te greška kod flashanja firmwarea iz pokretača (bootloader).
Podrška za hardver i ploče¶
OpenMV Cam H7 (STM32H7) — nova ploča s hardverskim JPEG koderom te H7 ADC / DAC.
machine— omogućena I2C4 sabirnica.
Promjene API-ja koje narušavaju kompatibilnost¶
Korisniku vidljiva narušavanja API-ja između v2.7.0 i v2.8.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Obje promjene koje narušavaju kompatibilnost su minor i utječu samo na skripte koje su koristile relevantnu značajku. Svaki hash commita vodi na njegov diff na GitHubu.
Redoslijed pozicijskih argumenata u Pythonu sada je strog (minor)¶
Parsiranje argumenata u Python C-modulima (image / sensor / fir / gif / lcd / mjpeg) sada čita pozicijske argumente prije ključnih riječi i fiksira pozicijski redoslijed. U kombinaciji s novim ključnim argumentima na metodama crtanja (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() dobivaju thickness / fill / scale / size), kod koji je pozicijski prosljeđivao parametre izvan redoslijeda — ili je proslijedio pozicijski color nakon jednog od novih argumenata — mora koristiti ključne argumente ili dokumentirani pozicijski redoslijed.
image.mask_ellipse() uklonjen (minor)¶
image.mask_ellipse() je uklonjen. Skripte koje su ga pozivale moraju izbaciti poziv ili umjesto toga koristiti eksplicitan ROI / sliku maske.
Commiti: d7159fba3
Kontrolni popis migracije¶
Prosljeđujte argumente ključnom riječi (ili dokumentiranim pozicijskim redoslijedom), posebno color na metodama crtanja (promjena redoslijeda argumenata), i uklonite pozive image.mask_ellipse() (uklanjanje mask_ellipse). Sve ostale skripte rade nepromijenjeno.