v2.7.0¶
v2.7.0 modernisoi sensor-moduulin automaattisen vahvistuksen / automaattisen valotuksen / valkotasapainon API:n fysikaalisiin yksiköihin (dB / mikrosekunnit), uudistaa vaihekorrelaatioon perustuvan find_displacement()-funktion (lisäten kierron/skaalauksen) ja lisää get_similarity()-funktion (SSIM), chrominvar() / illuminvar() -funktiot, lisää kehyspuskureita sekä MQTT-kirjaston. Tämä on suuri rikkova julkaisu — lue alla olevat rikkovat muutokset.
Kohokohdat¶
Moderni sensori-API —
set_auto_gain()/set_auto_exposure()/set_auto_whitebal()käyttävät nyt yksiköitä dB / mikrosekunnit, vastaavienget_gain_db()/get_exposure_us()/get_rgb_gain_db()kanssa.Vaihekorrelaatio — uudistettu
find_displacement()kierrolla / skaalauksella sekäfind_rotscale()/linpolar()/logpolar().SSIM —
image.get_similarity()rakenteellinen samankaltaisuus.Lisäkehyspuskurit —
sensor.alloc_extra_fb()/dealloc_extra_fb().MQTT — uusi MQTT-kirjasto.
Rikkova: sensorin vahvistus-/valotus-/valkotasapaino-API,
find_displacement()/ FFT-framesize-koot,find_number(), WINC-laiteohjelmistotyökalut ja AprilTaginz_rotation()muuttuivat kaikki — katso rikkovat muutokset.
Uudet ominaisuudet¶
Sensori — lisätty
sensor.get_gain_db(),sensor.get_exposure_us(),sensor.get_rgb_gain_db(),gain_db_ceiling-avainsana funktioonset_auto_gain(), MT9V034:nhmirror/vflip-tuki sekäsensor.alloc_extra_fb()/sensor.dealloc_extra_fb()ylimääräisille RAM-muistissa oleville kehyspuskureille.Image — lisätty
remove_shadows(),min()/max()(kehysten erotus),get_similarity()(SSIM) rakenteellisen samankaltaisuuden esimerkin kera,chrominvar()/illuminvar(),find_rotscale(),linpolar()/logpolar(), threshold- / offset- / invert-avainsanatmean()/mode()/median()/midpoint()-adaptiivisiin suodattimiin,len()/ indeksointi keypoints-olioon sekä.match()-aksessori keypoint-match-olioon.Kirjastot / verkko — lisätty MQTT-kirjasto (WiFi MQTT -esimerkin kera) sekä
network.WINC.MODE_BSP-tila WINC-laiteohjelmiston ohjelmointiin debug-UARTin kautta.Esimerkit — lisätty matalan tehon
deep_sleep.py/stop_mode.py, edistynyt optinen virtaus sekä lineaarisia/logaritmisia napakoordinaattiesimerkkiskriptejä; laiteohjelmisto jäsentää nytuart.ini-tiedoston käynnistyksen yhteydessä ottaakseen käyttöön REPL-UARTin.
Muut muutokset ja parannukset¶
get_regression()saiarea_threshold/pixels_threshold-avainsanat sekä nopeamman robustin regression (viivanseurantaan / kilpa-ajoon);get_pixel()tukee nyt Bayer-kuvia; lisätty STM32H7-pohjatyöt (CMSIS-otsikkotiedostot / HAL / käynnistyslatain — H7-kortti ei ole vielä käytettävissä); päivitetty pakettiin sisältyvä WINC1500-laiteohjelmisto (19.4.4 / 19.5.2).
Korjatut virheet¶
Kuvankäsittely:
Korjattu
find_template()-funktion timanttihaun rajojen ylitysvirhe,logpolar/linpolar-korruptio sekäilluminvar(), joka villiintyi lähes nollissa väriarvoissa.
Sensori ja järjestelmä:
Korjattu automaattisen vahvistuksen säädön virheet, palautettu
MAIN_FB-kokosnapshot()-kutsussa (jottacopy_to_fberi resoluutiolla, FB:n koon muutos ja optisen virtauksen pooling toimivat taas), WINCingethostbyname-aikakatkaisu,pydfu-tilan tyhjennys H7-käynnistyslataimessa sekä matalan tehon stop-/standby-tilat.
Laitteisto- ja korttituki¶
STM32H7 — pohjatyöt (CMSIS / HAL / käynnistyslatain); OpenMV H7 -kortti ei ole vielä käytettävissä tässä julkaisussa.
WINC1500 — päivitetty pakettiin sisältyvä laiteohjelmisto.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-muutokset versioiden v2.6.0 ja v2.7.0 välillä. Laajuus: Python C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty sen vaikutuksen mukaan:
major — vaikuttaa useimpiin ominaisuutta käyttäneisiin skripteihin; sinun on portattava koodi.
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — sama API, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain portata koodisi, siirry siirtymälistaan lopussa. Jokainen commit-hash linkittää sen diffiin GitHubissa.
sensor.set_auto_gain() uudistettu desibeleihin (dB) (major)¶
sensor.set_auto_gain() ei enää hyväksy kokonaisluku-avainsanaa value= eikä palauta enää True / False. Käytä sensor.set_auto_gain(False, gain_db=...) (liukuluku-dB-arvo), lue se takaisin uudella funktiolla sensor.get_gain_db() ja kääri kutsu try / except -lohkoon, koska epäonnistuminen nostaa nyt ValueError-poikkeuksen.
Commits: b906c5f19
sensor.set_auto_exposure() uudistettu mikrosekunteihin (major)¶
sensor.set_auto_exposure() ei enää hyväksy kokonaisluku-avainsanaa value= eikä palauta enää True / False. Käytä sensor.set_auto_exposure(False, exposure_us=...), lue se takaisin uudella funktiolla sensor.get_exposure_us() ja käsittele epäonnistumisessa nostettu ValueError.
Commits: 7be0a7a18
find_displacement() / FFT-framesize-koot uudistettu (major)¶
Vaihekorrelaatio uudistettiin. image.find_displacement() palauttaa nyt siirtymäolion (jossa x_translation() / y_translation() — entiset x_offset / y_offset — sekä rotation() / scale() ja uudet logpolar / fix_rotation_scale -avainsanat); erillinen rot-scale-olio poistettiin ja find_rotscale() lisättiin. FFT-framesize-vakiot nimettiin uudelleen/poistettiin: sensor.B40x30 poistettiin kokonaan, ja sensor.B64x32 / B64x64 nimettiin isoin kirjaimin sensor.B64X32 / B64X64 (uusien B128X64 / B128X128 kanssa).
sensor.set_auto_whitebal() uudistettu desibeleihin (dB) (minor)¶
sensor.set_auto_whitebal() korvasi kokonaisluku-avainsanansa value=[r, g, b] avainsanalla rgb_gain_db=[r, g, b] (liukuluku-dB) ja palauttaa nyt None (nostaen epäonnistumisessa ValueError) True / False -arvojen sijaan. Käytä uutta funktiota sensor.get_rgb_gain_db() lukeaksesi vahvistukset takaisin.
Commits: 30ecbdc4f
set_hmirror() / set_vflip() palauttavat None (minor)¶
sensor.set_hmirror() ja sensor.set_vflip() palauttavat nyt None ja nostavat epäonnistumisessa ValueError True / False -tilan palauttamisen sijaan. Poista kaikki koodi, joka haarautuu niiden paluuarvon perusteella.
Commits: aeb023804
WINC-laiteohjelmistotyökalut vaativat tiedostopolun (minor)¶
network.WINC -laiteohjelmistotyökalut muuttuivat: wlan.fw_dump() / wlan.fw_update() ottavat nyt pakollisen laiteohjelmistotiedoston polkuargumentin ja WINC avataan ohjelmointitilassa (network.WINC(mode=...)). Päivitä argumentittomat kutsut välittämään polku (esim. wlan.fw_update("/winc_19_5_2.bin")).
Commits: fcc3b0b9c
image.find_number() vaatii 28x28-ROI:n (behavior)¶
image.find_number() (LeNet) vaatii nyt täsmälleen 28x28-ROI:n, joka mahtuu kuvan sisään, ja nostaa muuten virheen (sen sijaan että suorittuisi mielivaltaisella/koko kuvan ROI:lla). Välitä eksplisiittinen roi=(x, y, 28, 28).
Commits: 4d09a13f3
AprilTagin z_rotation()-etumerkki käännetty (behavior)¶
AprilTagin z_rotation() (ja siihen liittyvä rotation()) käyttää nyt oikeakätistä koordinaattikonventiota, joten palautettu kulma on vastakkaismerkkinen aiempiin julkaisuihin verrattuna. Skriptien, jotka riippuvat vanhasta etumerkistä, on käännettävä arvo tai mukautettava kulmamatematiikkansa.
Commits: 7673aaf74
Siirtymälista¶
Puhdas portti versioon v2.7.0 vaatii tyypillisesti seuraavat työt:
Portaa
set_auto_gain()muotoongain_db=+get_gain_db()ja käsitteleValueError(automaattisen vahvistuksen uudistus).Portaa
set_auto_exposure()muotoonexposure_us=+get_exposure_us()(automaattisen valotuksen uudistus).Päivitä
find_displacement()siirtymäolioon ja nimeä FFT-framesize-vakiot uudelleen (find_displacement-uudistus).Portaa
set_auto_whitebal()muotoonrgb_gain_db=+get_rgb_gain_db()(valkotasapainon uudistus) ja lopetaset_hmirror()/set_vflip()-funktioiden paluuarvon tarkistaminen (peilauksen/kääntämisen muutos).Välitä laiteohjelmistopolku WINCin
fw_*-työkaluille (WINC-työkalujen muutos).Välitä 28x28-
roifunktiollefind_number()(find_number-muutos) ja mukauta AprilTagin kulmamatematiikkaa käännetyllez_rotation()-etumerkille (z_rotation-muutos).
Kaikki muut skriptit toimivat muuttumattomina.