v2.6.0

v2.6.0 päivittää ytimen versioon MicroPython 1.9.2, vaihtaa find_line_segments()-funktion LSD-algoritmiin, lisää MT9V034-globaalisuljinsensorin tuen, image.rotation_corr()-perspektiivikorjauksen, sensor.sleep()-toiminnon, raakakuvien tallennuksen ja OpenMV 4 -kortin pohjatyöt. find_line_segments(), useat framesize-vakiot ja MicroPythonin toiminta muuttuivat — lue alla olevat rikkovat muutokset.

Kohokohdat

  • MicroPython 1.9.2 -ytimen päivitys.

  • LSD-janasegmentitfind_line_segments() käyttää nyt Line Segment Detector -algoritmia.

  • MT9V034 -globaalisuljinsensorin tuki.

  • image.rotation_corr() — X/Y/Z-perspektiivin kiertokorjaus.

  • sensor.sleep() -pehmeä lepotila ja raakakuvien (pakkaamattomien) tallennus.

  • Rikkova: find_line_segments()-parametrit, useat framesize-vakiot ja MicroPythonin toiminta muuttuivat — katso rikkovat muutokset.

Uudet ominaisuudet

  • image.rotation_corr() — lisätty X/Y/Z-perspektiivin kiertokorjaus sekä rotation_correction.py-esimerkki.

  • sensor.sleep(enable) — aseta kamera pehmeään lepotilaan (lepotilaesimerkin kera).

  • Raakakuvatimage.save() voi nyt kirjoittaa raakakuvia (pakkaamattomia).

  • MT9V034 — lisätty globaalisuljinsensorin tuki, joka tarjoaa sensor.MT9V034-vakion.

  • Lisätty lens_correction.py-esimerkki image.lens_corr()-funktiolle sekä OpenMV 4 -kortin tukitiedostot (kortin konfiguraatio / käynnistyslatain / linkkerin pohjatyöt).

Muut muutokset ja parannukset

  • Päivitetty pakettiin sisältyvä MicroPython versioon 1.9.2 (1.9-portin putkitus, oofatfs); kirjoitettiin find_line_segments.py uudelleen uudelle LSD-rajapinnalle (linssin korjaus oletuksena pois päältä); päivitettiin isäntäpuolen openmv-rajapinta (init(portname) / exec_script / stop_script); laskettiin OpenMV Cam M4:n sensorin kellotaajuutta (pienempi maksimi-FPS M4:ssä); IDE:n Stop-painike käyttää nyt kovaa pakotettua poikkeusta keskeyttääkseen skriptit luotettavammin.

Korjatut virheet

  • Korjattu image.lens_corr(), joka jätti vanhentuneita pikseleitä (kohdepuskuri tyhjennetään nyt ennen uudelleenkartoitusta), blob.density(), joka käytti kokonaislukujakoa (palautti aina 0, #268), OpenMV 2:n (M4) UART-nastojen kartoitus, ja päivitettiin qrcodes_with_lens_corr.py käyttämään QVGA:ta.

Laitteisto- ja korttituki

  • MT9V034 -globaalisuljinsensori.

  • OpenMV 4 — kortin tukitiedostot (pohjatyöt).

  • OpenMV 2 (M4) — UART-nastojen kartoituksen korjaus.

Rikkovat API-muutokset

Käyttäjälle näkyvät API-muutokset versioiden v2.5.0 ja v2.6.0 välillä. Laajuus: Python C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.

Jokainen muutos on merkitty sen vaikutuksen mukaan:

  • major — vaikuttaa useimpiin ominaisuutta käyttäneisiin skripteihin; sinun on portattava koodi.

  • minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.

  • behavior — sama API, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.

Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain portata koodisi, siirry siirtymälistaan lopussa. Jokainen commit-hash linkittää sen diffiin GitHubissa.

find_line_segments() vaihtoi LSD:hen (major)

image.find_line_segments() kirjoitettiin uudelleen käyttämään Line Segment Detector (LSD) -algoritmia. Vanhat threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride -parametrit korvattiin parametreilla merge_distance ja max_theta_diff (esim. find_line_segments(merge_distance=0, max_theta_diff=15)). Se ei ole myöskään enää saatavilla M4-luokan (OpenMV 2) korteissa.

Commits: 5a3153c8b, cbe2a4aeb

Virheelliset framesize-vakiot poistettu (minor)

Virheelliset sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA -framesize-vakiot poistettiin (#261). Näitä käyttävien skriptien on vaihdettava tuettuun resoluutioon.

Commits: 35ab0a26f

find_qrcodes() poistettu OpenMV Cam M4:stä (minor)

image.find_qrcodes() ei ole enää käännetty mukaan M4-luokan (OpenMV 2) korteissa. Käytä OpenMV 3 (M7) -korttia tai muuta koodiominaisuutta QR-tunnistukseen M4-laitteistossa. Muihin kortteihin tämä ei vaikuta.

Commits: 7dff089e6

MicroPython päivitetty versioon 1.9.2 (behavior)

Pakettiin sisältyvä MicroPython-ydin päivitettiin versioon 1.9.2. Vakiokirjaston ja kielen toiminta seuraa ylävirran MicroPython 1.9.2:ta — tarkista uudelleen skriptit, jotka riippuvat versiokohtaisesta toiminnasta. Erityisesti kuvan viipale, jonka askel on muu kuin 1, nostaa nyt OSError-poikkeuksen NotImplementedError-poikkeuksen sijaan.

Commits: 11bed4b99

Siirtymälista

Puhdas portti versioon v2.6.0 vaatii tyypillisesti seuraavat työt:

  1. Kirjoita find_line_segments()-kutsut uudelleen LSD-parametreille (merge_distance / max_theta_diff) ja siirrä tuo käsittely pois M4:stä (LSD-uudistus).

  2. Korvaa poistetut framesize-vakiot tuetulla resoluutiolla (framesize-poisto).

  3. Siirrä M4:n QR-koodien tunnistus M7-kortille (find_qrcodes-muutos).

  4. Vahvista versiokohtainen toiminta uudelleen MicroPython 1.9.2:ta vasten (MicroPython-päivitys).

Kaikki muut skriptit toimivat muuttumattomina.