v2.5.0¶
Verze v2.5.0 je vydání bohaté na obrazové funkce: přidává find_rects(), find_circles(), get_regression() (prokládání přímkou/regrese), find_number() (číslice LeNet), proudové třídy ImageWriter / ImageReader, sensor.flush() / width() / height() a podporu pyb.RTC. Načítání obrazu je nyní podporováno framebufferem — přečtěte si nekompatibilní změny níže.
Hlavní novinky¶
image.find_rects()— detektor obdélníků / čtyřúhelníků s výstupem rohů.image.find_circles()— Houghova detekce kruhů.image.get_regression()— prokládání přímkou metodou nejmenších čtverců a robustní (Theil-Sen).image.find_number()— rozpoznávání číslic LeNet.ImageWriter/ImageReader— záznam a přehrávání proudů obrazu.Podpora
pyb.RTCa dálesensor.flush()/sensor.width()/sensor.height().Nekompatibilní: načítání obrazu je nyní podporováno framebufferem a vyvolá výjimku, pokud je obraz příliš velký — viz nekompatibilní změny.
Nové funkce¶
Detekce příznaků — přidány
image.find_rects()(detektor čtyřúhelníků AprilTag; objekty obdélníků sx/y/w/h/corners/magnitude),image.find_circles()(Hough),image.get_regression()(prokládání přímkou metodou nejmenších čtverců + robustní Theil-Sen) aimage.find_number()(rozpoznávání číslic LeNet), každá s ukázkovými skripty.Rohy výsledků — přidán atribut
cornersk objektům výsledků QR kódů / AprilTag / data-matrix / čárových kódů.Proudy obrazu — přidány třídy
image.ImageWriter/image.ImageReader(formát bloků zarovnaný na 16 bajtů) s ukázkamiimage_writer.py/image_reader.py.Senzor — přidáno
sensor.flush()(odeslání framebufferu do IDE bez snímku) asensor.width()/sensor.height().pyb.RTC— aktivována podpora RTC s ukázkourtc.py.Přidána kaskáda Haar pro kočičí obličeje a ukázka Servo-Shield (PCA9685); hostitelský nástroj
openmv-cascade.pyzískal podporu nového formátu XML kaskád OpenCV.
Další změny a vylepšení¶
Framebuffer byl refaktorován tak, aby obrazové metody
copy_to_fbaktualizovaly náhled v IDE; cestyHaarCascade()již nevyžadují úvodní/(vestavěná vs. souborová kaskáda se rozpozná automaticky); záznam GIF/MJPEG nyní podporuje VGA (a BAYER GIFy); vestavěný souborREADME.txtbyl aktualizován a soubor ovladačeopenmv.infse již na čistém souborovém systému nevytváří.
Opravy chyb¶
Obrazové zpracování:
Opravena akumulace hlasů
find_circles(), posun rhoget_regression()při použití ROI a únik paměti, slučování úsečekfind_lines(), průměrování úhlůfind_blobs()a výchozí (nejméně omezující) barevné meze, stabilita řazení klíčových bodů ORB / pořadí deskriptorů a příznak shody a bufferované načítání kaskády Haar (nezarovnaná čtení).
Systém:
Aktivováno
pybServo 3 (P9) (#256), opravena inicializace RTC, zvýšen časový limit znaku UART (#240) a opraven neinicializovaný příznak „enabled“ framebufferu senzoru.
Podpora hardwaru a desek¶
Nekompatibilní změny API¶
Pro uživatele viditelné nekompatibilní změny API mezi v2.4.1 a v2.5.0. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.
Nekompatibilní změna je změnou chování (stejné API, jiný výsledek) — znovu zkontrolujte dotčené skripty. Každý hash commitu odkazuje na svůj diff na GitHubu.
Načítání obrazu je podporováno framebufferem (behavior)¶
image.Image / načítání obrazu nyní kopíruje načtený obraz do hlavního framebufferu a vyvolá výjimku, pokud je obraz příliš velký, aby se vešel. Načítání, která dříve uspěla do heap bufferu, mohou nyní selhat — zajistěte, aby se načítané obrazy vešly do framebufferu (nebo ošetřete novou chybu).
Commity: 87d53385a
Kontrolní seznam migrace¶
Zajistěte, aby se načítané obrazy vešly do framebufferu (nebo zachyťte novou chybu „image too large“) tam, kde jste se dříve spoléhali na načítání obrazu z heapu (změna načítání obrazu). Všechny ostatní skripty poběží beze změny.