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 (subimgcopy, blitreplace, find_eyesfind_eye, compresscompressed). 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 bojefind_blobs() uzima pragove boje izravno i vraća ravni popis torki mrlja.

  • Čišćenje imlibasubimg()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) i sensor.set_exposure_ctrl(enable) (preklapanje AEC-a).

  • Slika — indeksiranje slike (img[i]) sada podržava i čitanje i pisanje piksela (grayscale / RGB565 / JPEG); dodan je image.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.DAC pri pokretanju kako bi DAC radio (#121), ispravljen je neispravni image.dilate(), oštećenje WINC client.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 termopilskih To_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.

Commiti: d1ff36602, 16daeb83a

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:

  1. 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).

  2. Čitajte podatke o centroidu / orijentaciji / pikselima iz torki mrlja umjesto iz uklonjenih samostalnih metoda (uklonjene metode slike).

  3. Preimenujte subimgcopy, blitreplace, ispravite pozive blend() i zamijenite scale / scaled / rainbow (preimenovanja imliba).

  4. Preimenujte find_eyes()find_eye() (preimenovanje find_eye) i compress()compressed() (preimenovanje compress).

Sve ostale skripte rade nepromijenjeno.