v1.4.0

v1.4.0 on perustavanlaatuinen imlib-uudelleenjärjestely. find_blobs() / find_markers() kirjoitettiin uudelleen suoraan värikynnyspohjaiseen seurantaan, monet itsenäiset kuvametodit niputettiin blob-tupleihin, ja useita kuvametodeja nimettiin uudelleen (subimgcopy, blitreplace, find_eyesfind_eye, compresscompressed). Se lisää myös sensor.get_fb() / AGC / AEC -kytkimet sekä noin 60 esimerkkiskriptiä. Tämä on voimakkaasti rikkova julkaisu — lue alla olevat rikkovat muutokset.

Kohokohdat

  • Väripohjainen blob-seurantafind_blobs() ottaa värikynnysarvot suoraan ja palauttaa litteän listan blob-tupleja.

  • Imlib-siivoussubimg()copy(), blit()replace(), find_eyes()find_eye(), compress()compressed().

  • Sensori — lisätty sensor.get_fb() sekä AGC/AEC-käyttöönottokytkimet.

  • ~60 esimerkkiskriptiä lisätty/laajennettu.

  • Rikkova: blob-API, poistetut kuvametodit ja useita uudelleennimeämisiä — katso rikkovat muutokset.

Uudet ominaisuudet

  • Sensori — lisätty sensor.get_fb() (hae viimeisin tilannekuvan kehyspuskuri), sensor.set_gain_ctrl(enable) (kytke AGC) ja sensor.set_exposure_ctrl(enable) (kytke AEC).

  • Kuva — kuvan alaindeksi (img[i]) tukee nyt sekä pikselien lukua että kirjoitusta (harmaasävy / RGB565 / JPEG); lisätty paikallaan toimiva image.compress() ja quality=-avainsana JPEG-funktioihin; find_blobs() / find_markers() / find_features() palauttavat nyt tyhjän (iteroitavan) listan ei-listan sijaan, kun mitään ei löydy.

  • Lisätty noin 60 esimerkkiskriptiä (kortin ohjaus, kuvasuotimet, väriseuranta, kasvojen / silmien / piirteiden tunnistus, WiFi-laajennuskortti) sekä toinen iiriksentunnistusesimerkki.

Muut muutokset ja parannukset

  • image.histeq() toimii nyt RGB565-kuvilla, ei vain harmaasävykuvilla.

Virheenkorjaukset

  • Alustettiin pyb.DAC käynnistyksessä, jotta DAC toimii (#121), korjattiin rikkinäinen image.dilate(), WINC:n client.send()-nollatavujen vioittuminen, blobien yhdistämisen uudelleeniterointi, tiedostopuskurin uudelleenalustusvirhe, joka rikkoi tiedostojärjestelmän ensimmäisen käytön jälkeen, termopilon To_min / To_max -laskenta (#113), sekä sovellettiin yläsuunnan MicroPython-HAL:n I2C/DMA-korjaus.

Laitteisto- ja korttituki

  • WiFi-laajennuskortti — WINC1500 päivitetty Rev-B-korttitiedostoihin.

  • pyb.DAC — DAC-oheislaite otettu käyttöön.

Rikkovat API-muutokset

Käyttäjälle näkyvät API-rikot versioiden v1.3.0 ja v1.4.0 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.

Kukin muutos on merkitty vaikutuksensa mukaan:

  • major — vaikuttaa useimpiin skripteihin, jotka käyttivät ominaisuutta; sinun on siirrettävä koodia.

  • minor — kapea API; vaikuttaa vain skripteihin, jotka käyttivät sitä.

Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, siirry siirtymän tarkistuslistaan lopussa. Kukin commit-hash linkittää diffiinsä GitHubissa.

find_blobs() / find_markers() kirjoitettu uudelleen (major)

image.find_blobs() / find_markers() kirjoitettiin uudelleen väripohjaiseen seurantaan: annat nyt värikynnysarvot (ja valinnaisen suodatusfunktion) suoraan sen sijaan, että operoisit esisegmentoidulla kuvalla, ja tulos on yksittäinen litteä lista 10-alkioisia blob-tupleja (värikoodikentällä) sisäkkäisen värikohtaisen puun sijaan. Muokkaa väriseurantaskriptit antamaan värikynnysarvot ja iteroimaan litteää listaa.

Commitit: d1ff36602, 16daeb83a

Itsenäiset kuvametodit poistettu (major)

image.threshold, image.centroid(), image.orientation_radians(), image.orientation_degrees() ja image.pixels() poistettiin. Painopiste- / suunta- / pikselimäärätiedot ovat nyt saatavilla find_blobs()-funktion palauttamien blob-tuplien kenttinä.

Commitit: 9e5d379c1

Imlib-metodien uudelleennimeämiset (major)

Useita kuvametodeja nimettiin uudelleen / muokattiin: image.subimg()image.copy(), image.blit()image.replace(), ja image.blend() muutettiin vastaamaan kahta muuta kahden kuvan operaatiota. image.scale() / scaled() / rainbow() -metodit poistettiin (rainbow siirrettiin FIR-moduuliin). Päivitä kutsut uusiin nimiin.

Commitit: b534dc6ff

find_eyes() nimetty uudelleen find_eye() (minor)

image.find_eyes() nimettiin uudelleen image.find_eye() ja palauttaa nyt 2-tuple-iiriksen (x, y) aiemman silmätuplen sijaan. Nimeä kutsu uudelleen ja päivitä paluuarvon käsittely.

Commitit: 7a01a9bed

image.compress() nimetty uudelleen compressed() (minor)

image.compress() (joka palautti uuden JPEG-kuvan) nimettiin uudelleen image.compressed(); uusi image.compress() sen sijaan pakkaa kuvan paikallaan ja palauttaa None. image.save() sai myös quality=-avainsanan ja palauttaa nyt None arvon True sijaan. Siirrä img.compress(q) (joka odottaa palautettua kuvaa) muotoon img.compressed(quality=q).

Commitit: 367e5fdd3

Siirtymän tarkistuslista

Puhtaaseen siirtoon versioon v1.4.0 tyypillinen työ on:

  1. Muokkaa väriseurantakoodi antamaan värikynnysarvot funktiolle find_blobs() / find_markers() ja iteroimaan litteää blob-tuple-listaa (find_blobs-uudelleenkirjoitus).

  2. Lue painopiste- / suunta- / pikselitiedot blob-tupleista poistettujen itsenäisten metodien sijaan (poistetut kuvametodit).

  3. Nimeä uudelleen subimgcopy, blitreplace, korjaa blend()-kutsut ja korvaa scale / scaled / rainbow (imlib-uudelleennimeämiset).

  4. Nimeä uudelleen find_eyes()find_eye() (find_eye-uudelleennimeäminen) ja compress()compressed() (compress-uudelleennimeäminen).

Kaikki muut skriptit toimivat muuttumattomina.