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 egy rotation_correction.py pé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.MT9V034 konstanst.

  • Hozzáadtunk egy lens_correction.py példát az image.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-oldali openmv API 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 a blob.density() egész osztást használt (mindig 0-t adott vissza, #268), az OpenMV 2 (M4) UART láb-leképezése, és a qrcodes_with_lens_corr.py frissí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.

Commitok: 5a3153c8b, cbe2a4aeb

É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:

  1. Í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).

  2. Cseréld le az eltávolított framesize konstansokat egy támogatott felbontásra (a framesize eltávolítás).

  3. Helyezd át az M4 QR-kód-észlelést egy M7 alaplapra (a find_qrcodes változás).

  4. 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.