v2.6.0¶
v2.6.0 ažurira jezgru na MicroPython 1.9.2, prebacuje find_line_segments() na LSD algoritam, dodaje podršku za MT9V034 global-shutter senzor, image.rotation_corr() korekciju perspektive, sensor.sleep(), spremanje sirovih slika te temelje za OpenMV 4 ploču. find_line_segments(), nekoliko veličina sličica i ponašanje MicroPythona su se promijenili — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
Ažuriranje jezgre na MicroPython 1.9.2.
LSD segmenti linija —
find_line_segments()sada koristi algoritam Line Segment Detector.Podrška za MT9V034 global-shutter senzor.
image.rotation_corr()— korekcija perspektivne rotacije po X/Y/Z osi.sensor.sleep()meki način mirovanja i spremanje sirovih (nekomprimiranih) slika.Narušava kompatibilnost: promijenili su se parametri
find_line_segments(), nekoliko konstanti veličina sličica i ponašanje MicroPythona — pogledajte promjene koje narušavaju kompatibilnost.
Nove značajke¶
image.rotation_corr()— dodana korekcija perspektivne rotacije po X/Y/Z osi s primjeromrotation_correction.py.sensor.sleep(enable)— stavlja kameru u meki način mirovanja (s primjerom načina mirovanja).Sirove slike —
image.save()sada može zapisivati sirove (nekomprimirane) slike.MT9V034 — dodana podrška za global-shutter senzor, izlažući konstantu
sensor.MT9V034.Dodan je primjer
lens_correction.pyzaimage.lens_corr()te datoteke za podršku OpenMV 4 ploče (konfiguracija ploče / pokretač (bootloader) / temelji za linker).
Ostale promjene i poboljšanja¶
Priloženi MicroPython ažuriran je na 1.9.2 (instalacija porta 1.9, oofatfs);
find_line_segments.pyprepisan je za novi LSD API (korekcija leće isključena prema zadanim postavkama); ažuriran jeopenmvAPI na strani domaćina (init(portname)/exec_script/stop_script); snižen je takt senzora na OpenMV Cam M4 (niži maksimalni FPS na M4); gumb Stop u IDE-u sada koristi tvrdu prisilnu iznimku za pouzdaniji prekid skripti.
Ispravci grešaka¶
Ispravljeno je da
image.lens_corr()ostavlja zastarjele piksele (odredišni međuspremnik sada se briše prije ponovnog mapiranja), dablob.density()koristi cjelobrojno dijeljenje (uvijek je vraćao 0, #268), mapiranje UART pinova na OpenMV 2 (M4) te jeqrcodes_with_lens_corr.pyažuriran da koristi QVGA.
Podrška za hardver i ploče¶
MT9V034 global-shutter senzor.
OpenMV 4 — datoteke za podršku ploče (temelji).
OpenMV 2 (M4) — ispravak mapiranja UART pinova.
Promjene API-ja koje narušavaju kompatibilnost¶
Korisniku vidljiva narušavanja API-ja između v2.5.0 i v2.6.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka je promjena označena svojim utjecajem:
major — utječe na većinu skripti koje su koristile značajku; morat ćete prenijeti kod.
minor — uski API; utječe samo na skripte koje su ga koristile.
behavior — isti API, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prenijeti svoj kod, prijeđite na kontrolni popis migracije na kraju. Svaki hash commita vodi na njegov diff na GitHubu.
find_line_segments() prebačen na LSD (major)¶
image.find_line_segments() prepisan je da koristi algoritam Line Segment Detector (LSD). Stari parametri threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride zamijenjeni su s merge_distance i max_theta_diff (npr. find_line_segments(merge_distance=0, max_theta_diff=15)). Također više nije dostupan na pločama klase M4 (OpenMV 2).
Uklonjene nevažeće konstante veličina sličica (minor)¶
Uklonjene su nevažeće konstante veličina sličica sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA (#261). Skripte koje ih koriste moraju prijeći na podržanu razlučivost.
Commiti: 35ab0a26f
find_qrcodes() uklonjen na OpenMV Cam M4 (minor)¶
image.find_qrcodes() više se ne kompilira na pločama klase M4 (OpenMV 2). Za detekciju QR kodova na M4 hardveru koristite OpenMV 3 (M7) ploču ili drugu značajku koda. Ostale ploče nisu pogođene.
Commiti: 7dff089e6
MicroPython ažuriran na 1.9.2 (behavior)¶
Priložena MicroPython jezgra ažurirana je na 1.9.2. Ponašanje standardne biblioteke i jezika slijedi službeni MicroPython 1.9.2 — ponovno provjerite skripte koje ovise o ponašanju specifičnom za verziju. Posebno, isječak slike s korakom različitim od 1 sada izaziva OSError umjesto NotImplementedError.
Commiti: 11bed4b99
Kontrolni popis migracije¶
Za čist prijenos na v2.6.0 tipičan posao je:
Prepišite pozive
find_line_segments()za LSD parametre (merge_distance/max_theta_diff) i premjestite tu obradu s M4 (prerada LSD-a).Zamijenite uklonjene konstante veličina sličica podržanom razlučivošću (uklanjanje veličina sličica).
Premjestite detekciju QR kodova s M4 na M7 ploču (promjena find_qrcodes).
Ponovno provjerite ponašanje specifično za verziju u odnosu na MicroPython 1.9.2 (prelazak na MicroPython).
Sve ostale skripte rade nepromijenjeno.