v2.6.0¶
A v2.6.0 a magot MicroPython 1.9.2-re frissíti, a find_line_segments() függvényt az LSD algoritmusra váltja, MT9V034 global-shutter érzékelő-támogatást, image.rotation_corr() perspektíva-korrekciót, sensor.sleep() funkciót, nyers kép mentését és az OpenMV 4 alaplap alapozó munkáit adja hozzá. A find_line_segments(), több framesize és a MicroPython viselkedése megváltozott — olvasd el az alábbi töréses változásokat.
Kiemelt újdonságok¶
MicroPython 1.9.2 mag-frissítés.
LSD vonalszakaszok — a
find_line_segments()mostantól a Line Segment Detector algoritmust használja.MT9V034 global-shutter érzékelő támogatása.
image.rotation_corr()— X/Y/Z perspektíva-elforgatás korrekciója.sensor.sleep()szoftveres alvó mód és nyers (tömörítetlen) kép mentése.Töréses: a
find_line_segments()paraméterei, több framesize konstans és a MicroPython viselkedése megváltozott — lásd a töréses változásokat.
Új funkciók¶
image.rotation_corr()— X/Y/Z perspektíva-elforgatás korrekciója hozzáadva egyrotation_correction.pypéldával.sensor.sleep(enable)— a kamera szoftveres alvó módba helyezése (alvó módú példával együtt).Nyers képek — az
image.save()mostantól nyers (tömörítetlen) képeket is tud írni.MT9V034 — global-shutter érzékelő-támogatás hozzáadva, elérhetővé téve a
sensor.MT9V034konstanst.Hozzáadtunk egy
lens_correction.pypéldát azimage.lens_corr()függvényhez, valamint OpenMV 4 alaplap-támogató fájlokat (alaplap-konfiguráció / rendszerbetöltő / linker alapozó munkák).
Egyéb változások és fejlesztések¶
A mellékelt MicroPython frissítve 1.9.2-re (1.9 port-csatlakozás, oofatfs); a
find_line_segments.pyújraírva az új LSD API-hoz (lencse-korrekció alapból kikapcsolva); a gazdagép-oldaliopenmvAPI frissítve (init(portname)/exec_script/stop_script); az OpenMV Cam M4 érzékelő-órajele csökkentve (alacsonyabb maximális FPS az M4-en); az IDE Stop gombja mostantól kemény, kényszerített kivételt használ a szkriptek megbízhatóbb megszakításához.
Hibajavítások¶
Javítva, hogy az
image.lens_corr()elavult képpontokat hagyott hátra (a cél-puffer mostantól törlődik az újraleképezés előtt), hogy ablob.density()egész osztást használt (mindig 0-t adott vissza, #268), az OpenMV 2 (M4) UART láb-leképezése, és aqrcodes_with_lens_corr.pyfrissítve a QVGA használatára.
Hardver- és alaplap-támogatás¶
MT9V034 global-shutter érzékelő.
OpenMV 4 — alaplap-támogató fájlok (alapozó munkák).
OpenMV 2 (M4) — UART láb-leképezés javítása.
Töréses API-változások¶
Felhasználó számára látható API-törések a v2.5.0 és a v2.6.0 között. Hatókör: a modules/ mappában lévő Python C-modulok és a scripts/libraries/ mappában lévő Python könyvtárak.
Minden változás meg van jelölve a hatásával:
major — a funkciót használó szkriptek többségét érinti; portolnod kell majd a kódot.
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — ugyanaz az API, eltérő eredmények; ellenőrizd újra a hangolt szkripteket.
A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak portolni szeretnéd a kódodat, ugorj a végén lévő migrációs ellenőrzőlistára. Minden commit-hash a hozzá tartozó diffre mutat a GitHubon.
A find_line_segments() LSD-re váltott (major)¶
Az image.find_line_segments() újraírva a Line Segment Detector (LSD) algoritmus használatára. A régi threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride paramétereket a merge_distance és a max_theta_diff váltja fel (pl. find_line_segments(merge_distance=0, max_theta_diff=15)). Emellett már nem érhető el az M4-osztályú (OpenMV 2) alaplapokon.
Érvénytelen framesize konstansok eltávolítva (minor)¶
Az érvénytelen sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA framesize konstansok eltávolítva (#261). Az ezeket használó szkripteknek át kell térniük egy támogatott felbontásra.
Commitok: 35ab0a26f
A find_qrcodes() eltávolítva az OpenMV Cam M4-en (minor)¶
Az image.find_qrcodes() már nincs befordítva az M4-osztályú (OpenMV 2) alaplapokba. M4 hardveren a QR-észleléshez használj OpenMV 3 (M7) alaplapot vagy más kód-funkciót. A többi alaplapot ez nem érinti.
Commitok: 7dff089e6
MicroPython frissítve 1.9.2-re (behavior)¶
A mellékelt MicroPython mag frissítve 1.9.2-re. A standard könyvtár és a nyelvi viselkedés a felsőbb (upstream) MicroPython 1.9.2-t követi — ellenőrizd újra azokat a szkripteket, amelyek verzióspecifikus viselkedéstől függenek. Nevezetesen, az 1-től eltérő lépéssel rendelkező kép-szelet mostantól OSError-t vált ki a NotImplementedError helyett.
Commitok: 11bed4b99
Migrációs ellenőrzőlista¶
A v2.6.0-ra való tiszta portoláshoz a tipikus teendők a következők:
Írd át a
find_line_segments()hívásokat az LSD paraméterekre (merge_distance/max_theta_diff), és helyezd át ezt a feldolgozást az M4-ről (az LSD átdolgozás).Cseréld le az eltávolított framesize konstansokat egy támogatott felbontásra (a framesize eltávolítás).
Helyezd át az M4 QR-kód-észlelést egy M7 alaplapra (a find_qrcodes változás).
Validáld újra a verzióspecifikus viselkedést a MicroPython 1.9.2-höz képest (a MicroPython frissítés).
Minden más szkript változtatás nélkül fut.