v2.5.0

A v2.5.0 egy funkciókban gazdag képfeldolgozási kiadás: hozzáadja a find_rects(), a find_circles(), a get_regression() (vonal-/regresszió-illesztés), a find_number() (LeNet számjegyek) funkciókat, az ImageWriter / ImageReader adatfolyam-osztályokat, a sensor.flush() / width() / height() függvényeket, valamint a pyb.RTC támogatást. A képbetöltés mostantól képkocka-puffer-alapú — olvasd el az alábbi töréses változásokat.

Kiemelések

  • image.find_rects() — téglalap / négyszög detektor sarokkimenettel.

  • image.find_circles() — Hough kör-észlelés.

  • image.get_regression() — legkisebb négyzetek és robusztus (Theil-Sen) vonalillesztés.

  • image.find_number() — LeNet számjegyfelismerés.

  • ImageWriter / ImageReader — kép-adatfolyamok rögzítése és visszajátszása.

  • pyb.RTC támogatás, valamint sensor.flush() / sensor.width() / sensor.height().

  • Töréses: a képbetöltés mostantól képkocka-puffer-alapú, és hibát dob, ha a kép túl nagy — lásd a töréses változásokat.

Új funkciók

  • Jellemzőészlelés — hozzáadva az image.find_rects() (AprilTag négyszög-detektor; rect objektumok x / y / w / h / corners / magnitude mezőkkel), az image.find_circles() (Hough), az image.get_regression() (legkisebb négyzetek + Theil-Sen robusztus vonalillesztés) és az image.find_number() (LeNet számjegyfelismerés), mindegyik példaszkriptekkel.

  • Eredmény-sarkok — hozzáadva egy corners attribútum a QR-kód / AprilTag / data-matrix / vonalkód eredményobjektumokhoz.

  • Kép-adatfolyamok — hozzáadva az image.ImageWriter / image.ImageReader osztályok (16 bájtra igazított darab-formátum) az image_writer.py / image_reader.py példákkal.

  • Érzékelő — hozzáadva a sensor.flush() (a képkocka-puffer kitolása az IDE-be pillanatkép nélkül) és a sensor.width() / sensor.height().

  • pyb.RTC — engedélyezve az RTC támogatás egy rtc.py példával.

  • Hozzáadva egy macskaarc Haar kaszkád és egy Servo-Shield (PCA9685) példa; az openmv-cascade.py állomásoldali eszköz támogatást kapott az új OpenCV XML kaszkádformátumhoz.

Egyéb változások és fejlesztések

  • A képkocka-puffer átszervezésre került, így a copy_to_fb kép-metódusok frissítik az IDE-előnézetet; a HaarCascade() útvonalak már nem igényelnek vezető / jelet (a beépített vs. fájl automatikusan felismerésre kerül); a GIF/MJPEG rögzítés mostantól támogatja a VGA-t (és a BAYER GIF-eket); a beépített README.txt frissült, és az openmv.inf illesztőprogram-fájl már nem jön létre friss fájlrendszeren.

Hibajavítások

Képfeldolgozás:

  • Javítva a find_circles() szavazatfelhalmozása, a get_regression() rho eltolása ROI esetén és egy memóriaszivárgás, a find_lines() szakaszösszevonása, a find_blobs() szögátlagolása és alapértelmezett (legkevésbé korlátozó) színhatárai, az ORB kulcspont-rendezési stabilitása / leíró-sorrendje és az egyezés-jelzője, valamint a Haar kaszkád pufferelt betöltése (nem igazított olvasások).

Rendszer:

  • Engedélyezve a pyb Servo 3 (P9) (#256), javítva az RTC inicializálása, megnövelve az UART karakter-időtúllépése (#240), és javítva az inicializálatlan érzékelő képkocka-puffer „enabled” jelzője.

Hardver- és laptámogatás

  • pyb.RTC támogatás és pyb Servo 3 (P9); Servo-Shield (PCA9685) példa.

Töréses API-változások

A felhasználó által látható API-törések a v2.4.1 és a v2.5.0 között. Hatókör: Python C-modulok a modules/ mappában és Python könyvtárak a scripts/libraries/ mappában.

A töréses változás egy behavior változás (azonos API, eltérő eredmény) — ellenőrizd újra az érintett szkripteket. Minden commit hash a GitHub-on lévő diffjére hivatkozik.

A képbetöltés képkocka-puffer-alapú (behavior)

Az image.Image / képbetöltés mostantól a betöltött képet a fő képkocka-pufferbe másolja, és kivételt dob, ha a kép túl nagy ahhoz, hogy elférjen. Azok a betöltések, amelyek korábban sikeresek voltak egy heap-pufferbe, mostantól meghiúsulhatnak — gondoskodj róla, hogy a betöltött képek elférjenek a képkocka-pufferben (vagy kezeld az új hibát).

Commitok: 87d53385a

Migrációs ellenőrzőlista

Gondoskodj róla, hogy a betöltött képek elférjenek a képkocka-pufferben (vagy kapd el az új „a kép túl nagy” hibát) ott, ahol korábban heap-alapú képbetöltésre támaszkodtál (a képbetöltés változása). Az összes többi szkript változtatás nélkül fut.