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-janasegmentit —
find_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).Raakakuvat —
image.save()voi nyt kirjoittaa raakakuvia (pakkaamattomia).MT9V034 — lisätty globaalisuljinsensorin tuki, joka tarjoaa
sensor.MT9V034-vakion.Lisätty
lens_correction.py-esimerkkiimage.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.pyuudelleen uudelle LSD-rajapinnalle (linssin korjaus oletuksena pois päältä); päivitettiin isäntäpuolenopenmv-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äivitettiinqrcodes_with_lens_corr.pykä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.
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:
Kirjoita
find_line_segments()-kutsut uudelleen LSD-parametreille (merge_distance/max_theta_diff) ja siirrä tuo käsittely pois M4:stä (LSD-uudistus).Korvaa poistetut framesize-vakiot tuetulla resoluutiolla (framesize-poisto).
Siirrä M4:n QR-koodien tunnistus M7-kortille (find_qrcodes-muutos).
Vahvista versiokohtainen toiminta uudelleen MicroPython 1.9.2:ta vasten (MicroPython-päivitys).
Kaikki muut skriptit toimivat muuttumattomina.