v2.5.0

v2.5.0 on ominaisuusrikas kuvankäsittelyjulkaisu: se lisää find_rects()-, find_circles()-, get_regression()-funktiot (viivan/regression sovitus), find_number()-funktion (LeNet-numerot), ImageWriter / ImageReader -virtaluokat, sensor.flush() / width() / height() -funktiot sekä pyb.RTC -tuen. Kuvan lataus on nyt kehyspuskuripohjaista — lue alla olevat yhteensopivuutta rikkovat muutokset.

Kohokohdat

  • image.find_rects() — suorakulmion / nelikulmion tunnistin kulmien ulostulolla.

  • image.find_circles() — Hough-ympyrätunnistus.

  • image.get_regression() — pienimmän neliösumman ja robustin (Theil-Sen) viivan sovitus.

  • image.find_number() — LeNet-numeroiden tunnistus.

  • ImageWriter / ImageReader — tallenna ja toista kuvavirtoja.

  • pyb.RTC -tuki sekä sensor.flush() / sensor.width() / sensor.height().

  • Rikkova: kuvan lataus on nyt kehyspuskuripohjaista ja nostaa poikkeuksen, jos kuva on liian suuri — katso yhteensopivuutta rikkovat muutokset.

Uudet ominaisuudet

  • Piirteentunnistus — lisätty image.find_rects() (AprilTag-nelikulmiotunnistin; rect-objektit, joissa x / y / w / h / corners / magnitude), image.find_circles() (Hough), image.get_regression() (pienimmän neliösumman + Theil-Sen-robusti viivan sovitus) ja image.find_number() (LeNet-numeroiden tunnistus), kukin esimerkkiskriptien kanssa.

  • Tuloskulmat — lisätty corners-attribuutti QR-koodin / AprilTagin / data-matriisin / viivakoodin tulosobjekteihin.

  • Kuvavirrat — lisätty image.ImageWriter / image.ImageReader -luokat (16-tavuun kohdistettu lohkoformaatti) sekä image_writer.py / image_reader.py -esimerkit.

  • Sensori — lisätty sensor.flush() (työnnä kehyspuskuri IDE:hen ilman tilannekuvaa) sekä sensor.width() / sensor.height().

  • pyb.RTC — otettu RTC-tuki käyttöön rtc.py-esimerkin kanssa.

  • Lisätty kissan kasvojen Haar-kaskadi ja Servo-Shield (PCA9685) -esimerkki; openmv-cascade.py-isäntätyökalu sai tuen uudelle OpenCV-XML-kaskadiformaatille.

Muut muutokset ja parannukset

  • Kehyspuskuri refaktoroitiin niin, että copy_to_fb-kuvametodit päivittävät IDE:n esikatselun; HaarCascade()-polut eivät enää vaadi alkavaa /-merkkiä (sisäänrakennettu vs. tiedosto tunnistetaan automaattisesti); GIF/MJPEG-tallennus tukee nyt VGA-kokoa (ja BAYER-GIF-tiedostoja); sisäänrakennettu README.txt päivitettiin, eikä openmv.inf-ajuritiedostoa enää luoda tuoreeseen tiedostojärjestelmään.

Virheenkorjaukset

Kuvankäsittely:

  • Korjattu find_circles()-äänten kertyminen, get_regression()-rho-siirtymä ROI:n kanssa sekä muistivuoto, find_lines()-segmenttien yhdistäminen, find_blobs()-kulman keskiarvotus ja oletukselliset (vähiten rajoittavat) värirajat, ORB-avainpisteiden lajittelun vakaus / kuvaajien järjestys ja matched-lippu sekä Haar-kaskadin puskuroitu lataus (kohdistamattomat luvut).

Järjestelmä:

  • Otettu käyttöön pyb Servo 3 (P9) (#256), korjattu RTC-alustus, kasvatettu UART-merkin aikakatkaisua (#240) ja korjattu alustamaton sensorin kehyspuskurin ”enabled”-lippu.

Laitteisto- ja korttituki

  • pyb.RTC -tuki ja pyb Servo 3 (P9); Servo-Shield (PCA9685) -esimerkki.

Yhteensopivuutta rikkovat API-muutokset

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

Yhteensopivuutta rikkova muutos on behavior-muutos (sama API, eri tulos) — tarkista uudelleen vaikutuksen alaiset skriptit. Jokainen commit-hash linkittää diffiinsä GitHubissa.

Kuvan lataus on kehyspuskuripohjaista (behavior)

image.Image / kuvan lataus kopioi nyt ladatun kuvan pääkehyspuskuriin ja nostaa poikkeuksen, jos kuva on liian suuri mahtuakseen. Lataukset, jotka aiemmin onnistuivat keon puskuriin, voivat nyt epäonnistua — varmista, että ladatut kuvat mahtuvat kehyspuskuriin (tai käsittele uusi virhe).

Commitit: 87d53385a

Migraatiotarkistuslista

Varmista, että ladatut kuvat mahtuvat kehyspuskuriin (tai nappaa uusi ”image too large” -virhe) siellä, missä aiemmin luotit keon puskuroimaan kuvalatauksiin (kuvalatausmuutos). Kaikki muut skriptit toimivat muuttumattomina.