v1.4.0¶
v1.4.0 je temeljna reorganizacija imliba. find_blobs() / find_markers() prepisani su za izravno praćenje po pragu boje, mnoge samostalne metode slike sažete su u torke mrlja, a nekoliko metoda slike je preimenovano (subimg → copy, blit → replace, find_eyes → find_eye, compress → compressed). Također dodaje sensor.get_fb() / AGC / AEC preklopnike i ~60 primjera skripti. Ovo je izdanje koje znatno narušava kompatibilnost — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
Praćenje mrlja na temelju boje —
find_blobs()uzima pragove boje izravno i vraća ravni popis torki mrlja.Čišćenje imliba —
subimg()→copy(),blit()→replace(),find_eyes()→find_eye(),compress()→compressed().Senzor — dodani su
sensor.get_fb()i preklopnici za omogućavanje AGC/AEC.Dodano/prošireno ~60 primjera skripti.
Narušava kompatibilnost: API mrlja, uklonjene metode slike i nekoliko preimenovanja — pogledajte promjene koje narušavaju kompatibilnost.
Nove značajke¶
Senzor — dodani su
sensor.get_fb()(dohvaćanje međuspremnika slike posljednje snimke),sensor.set_gain_ctrl(enable)(preklapanje AGC-a) isensor.set_exposure_ctrl(enable)(preklapanje AEC-a).Slika — indeksiranje slike (
img[i]) sada podržava i čitanje i pisanje piksela (grayscale / RGB565 / JPEG); dodan jeimage.compress()koji radi na licu mjesta i ključna riječquality=na JPEG funkcijama;find_blobs()/find_markers()/find_features()sada vraćaju prazan (iterabilan) popis umjesto vrijednosti koja nije popis kada ništa nije pronađeno.Dodano je ~60 primjera skripti (kontrola ploče, filtri slike, praćenje boje, detekcija lica / oka / značajki, WiFi štit) i drugi primjer detekcije šarenice.
Ostale promjene i poboljšanja¶
image.histeq()sada radi na RGB565 slikama, ne samo na sivim tonovima.
Ispravci grešaka¶
Inicijaliziran je
pyb.DACpri pokretanju kako bi DAC radio (#121), ispravljen je neispravniimage.dilate(), oštećenje WINCclient.send()od nula bajtova, ponovna iteracija spajanja mrlja, greška ponovne inicijalizacije međuspremnika datoteke koja je kvarila datotečni sustav nakon prve upotrebe, izračun termopilskihTo_min/To_max(#113) te je primijenjena uzvodna MicroPython HAL I2C/DMA zakrpa.
Hardver i podrška za ploče¶
WiFi štit — WINC1500 ažuriran na Rev-B datoteke ploče.
pyb.DAC— DAC periferija omogućena.
Promjene API-ja koje narušavaju kompatibilnost¶
Promjene API-ja vidljive korisniku između v1.3.0 i v1.4.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka promjena označena je svojim utjecajem:
major — utječe na većinu skripti koje su koristile značajku; trebat ćete prenijeti kod.
minor — uski API; utječe samo na skripte koje su ga koristile.
Promjene su grupirane po utjecaju tim redoslijedom. Ako samo želite prenijeti svoj kod, skočite na kontrolni popis za migraciju na kraju. Svaki hash commita povezan je sa svojim diffom na GitHubu.
find_blobs() / find_markers() prepisani (major)¶
image.find_blobs() / find_markers() prepisani su za praćenje na temelju boje: sada izravno prosljeđujete pragove boje (i opcionalnu funkciju filtra) umjesto rada na unaprijed segmentiranoj slici, a rezultat je jedinstveni ravni popis torki mrlja s 10 elemenata (s poljem koda boje) umjesto ugniježđenog stabla po boji. Preradite skripte za praćenje boje tako da prosljeđuju pragove boje i iteriraju ravni popis.
Samostalne metode slike uklonjene (major)¶
image.threshold, image.centroid(), image.orientation_radians(), image.orientation_degrees() i image.pixels() su uklonjeni. Podaci o centroidu / orijentaciji / broju piksela sada su dostupni kao polja torki mrlja koje vraća find_blobs().
Commiti: 9e5d379c1
Preimenovanja metoda imliba (major)¶
Nekoliko metoda slike je preimenovano/prerađeno: image.subimg() → image.copy(), image.blit() → image.replace(), a image.blend() je promijenjen kako bi odgovarao drugim dvjema operacijama nad dvije slike. Metode image.scale() / scaled() / rainbow() su uklonjene (rainbow premješten u FIR modul). Ažurirajte pozive na nove nazive.
Commiti: b534dc6ff
find_eyes() preimenovan u find_eye() (minor)¶
image.find_eyes() preimenovan je u image.find_eye() i sada vraća 2-torku šarenice (x, y) umjesto prethodne torke očiju. Preimenujte poziv i ažurirajte rukovanje povratnom vrijednošću.
Commiti: 7a01a9bed
image.compress() preimenovan u compressed() (minor)¶
image.compress() (koji je vraćao novu JPEG sliku) preimenovan je u image.compressed(); novi image.compress() umjesto toga komprimira sliku na licu mjesta i vraća None. image.save() također je dobio ključnu riječ quality= i sada vraća None umjesto True. Migrirajte img.compress(q) (koji očekuje vraćenu sliku) na img.compressed(quality=q).
Commiti: 367e5fdd3
Kontrolni popis za migraciju¶
Za čisti prijenos na v1.4.0 tipičan posao je:
Preradite kod za praćenje boje tako da prosljeđuje pragove boje funkcijama
find_blobs()/find_markers()i iterira ravni popis torki mrlja (prepisivanje find_blobs).Čitajte podatke o centroidu / orijentaciji / pikselima iz torki mrlja umjesto iz uklonjenih samostalnih metoda (uklonjene metode slike).
Preimenujte
subimg→copy,blit→replace, ispravite poziveblend()i zamijenitescale/scaled/rainbow(preimenovanja imliba).Preimenujte
find_eyes()→find_eye()(preimenovanje find_eye) icompress()→compressed()(preimenovanje compress).
Sve ostale skripte rade nepromijenjeno.