v2.5.0

v2.5.0 je izdanje bogato značajkama za obradu slike: dodaje find_rects(), find_circles(), get_regression() (prilagodba linije/regresije), find_number() (LeNet znamenke), klase za strujanje ImageWriter / ImageReader, sensor.flush() / width() / height() te podršku za pyb.RTC. Učitavanje slike sada se temelji na međuspremniku slike — pročitajte promjene koje narušavaju kompatibilnost u nastavku.

Istaknuto

  • image.find_rects() — detektor pravokutnika / četverokuta s izlazom kutova.

  • image.find_circles() — Houghova detekcija kružnica.

  • image.get_regression() — prilagodba linije metodom najmanjih kvadrata i robusnom metodom (Theil-Sen).

  • image.find_number() — LeNet prepoznavanje znamenki.

  • ImageWriter / ImageReader — snimanje i reprodukcija tokova slika.

  • Podrška za pyb.RTC, uz sensor.flush() / sensor.width() / sensor.height().

  • Narušava kompatibilnost: učitavanje slike sada se temelji na međuspremniku slike i izaziva pogrešku ako je slika prevelika — pogledajte promjene koje narušavaju kompatibilnost.

Nove značajke

  • Detekcija značajki — dodani image.find_rects() (detektor četverokuta AprilTag; objekti pravokutnika s x / y / w / h / corners / magnitude), image.find_circles() (Hough), image.get_regression() (prilagodba linije metodom najmanjih kvadrata + robusna Theil-Sen) i image.find_number() (LeNet prepoznavanje znamenki), svaki s primjerima skripti.

  • Kutovi rezultata — dodan atribut corners objektima rezultata QR kodova / AprilTaga / data matrica / barkodova.

  • Tokovi slika — dodane klase image.ImageWriter / image.ImageReader (format dijelova poravnatih na 16 bajtova) s primjerima image_writer.py / image_reader.py.

  • Senzor — dodani sensor.flush() (slanje međuspremnika slike u IDE bez snimke) te sensor.width() / sensor.height().

  • pyb.RTC — omogućena podrška za RTC s primjerom rtc.py.

  • Dodani su Haar cascade za mačje lice i primjer Servo-Shield (PCA9685); host alat openmv-cascade.py dobio je podršku za novi OpenCV XML format cascade.

Ostale promjene i poboljšanja

  • Međuspremnik slike je refaktoriran tako da copy_to_fb metode slike ažuriraju pregled u IDE-u; putanje HaarCascade() više ne zahtijevaju vodeću / (ugrađeno nasuprot datoteci automatski se detektira); snimanje GIF/MJPEG sada podržava VGA (i BAYER GIF-ove); ugrađeni README.txt je ažuriran, a datoteka upravljačkog programa openmv.inf više se ne stvara na svježem datotečnom sustavu.

Ispravci pogrešaka

Obrada slike:

  • Ispravljeni su akumulacija glasova u find_circles(), rho pomak u get_regression() s ROI-jem i curenje memorije, spajanje segmenata u find_lines(), usrednjavanje kutova u find_blobs() i zadane (najmanje restriktivne) granice boja, stabilnost sortiranja ORB ključnih točaka / poredak deskriptora i zastavica podudaranja, te međuspremnikom poduprto učitavanje Haar cascade (neporavnata čitanja).

Sustav:

  • Omogućen pyb Servo 3 (P9) (#256), ispravljena inicijalizacija RTC-a, povećan istek vremena znaka na UART-u (#240) i ispravljena neinicijalizirana zastavica „enabled” međuspremnika slike senzora.

Hardver i podrška za ploče

  • Podrška za pyb.RTC i pyb Servo 3 (P9); primjer Servo-Shield (PCA9685).

Promjene API-ja koje narušavaju kompatibilnost

Korisniku vidljive promjene API-ja koje narušavaju kompatibilnost između v2.4.1 i v2.5.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.

Promjena koja narušava kompatibilnost je promjena behavior (isti API, drugačiji rezultat) — ponovno provjerite pogođene skripte. Svaki hash predaje povezuje se sa svojim diffom na GitHubu.

Učitavanje slike temelji se na međuspremniku slike (behavior)

image.Image / učitavanje slike sada kopira učitanu sliku u glavni međuspremnik slike i izaziva iznimku ako je slika prevelika da bi stala. Učitavanja koja su prije uspijevala u međuspremnik na gomili sada mogu zakazati — osigurajte da učitane slike stanu u međuspremnik slike (ili obradite novu pogrešku).

Predaje: 87d53385a

Kontrolni popis za migraciju

Osigurajte da učitane slike stanu u međuspremnik slike (ili uhvatite novu pogrešku „image too large”) tamo gdje ste se prije oslanjali na učitavanje slika poduprto gomilom (promjena učitavanja slike). Sve ostale skripte rade nepromijenjene.