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 (subimg → copy, blit → replace, find_eyes → find_eye, compress → compressed). 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-seuranta —
find_blobs()ottaa värikynnysarvot suoraan ja palauttaa litteän listan blob-tupleja.Imlib-siivous —
subimg()→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) jasensor.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 toimivaimage.compress()jaquality=-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.DACkäynnistyksessä, jotta DAC toimii (#121), korjattiin rikkinäinenimage.dilate(), WINC:nclient.send()-nollatavujen vioittuminen, blobien yhdistämisen uudelleeniterointi, tiedostopuskurin uudelleenalustusvirhe, joka rikkoi tiedostojärjestelmän ensimmäisen käytön jälkeen, termopilonTo_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.
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:
Muokkaa väriseurantakoodi antamaan värikynnysarvot funktiolle
find_blobs()/find_markers()ja iteroimaan litteää blob-tuple-listaa (find_blobs-uudelleenkirjoitus).Lue painopiste- / suunta- / pikselitiedot blob-tupleista poistettujen itsenäisten metodien sijaan (poistetut kuvametodit).
Nimeä uudelleen
subimg→copy,blit→replace, korjaablend()-kutsut ja korvaascale/scaled/rainbow(imlib-uudelleennimeämiset).Nimeä uudelleen
find_eyes()→find_eye()(find_eye-uudelleennimeäminen) jacompress()→compressed()(compress-uudelleennimeäminen).
Kaikki muut skriptit toimivat muuttumattomina.