v3.3.0¶
v3.3.0 on valtava julkaisu. Se lisää täyden FLIR Lepton -lämpökameran tuen uudella sensor.ioctl() -rajapinnalla ja väripaleteilla, tv SPI-videolähtömoduulin, globaalisuljinpohjaisen liipaistun tilan, ison erän uusia image -piirto- ja analyysimetodeja (gamma_corr(), draw_ellipse(), draw_edges(), monia blob-ominaisuuksia) sekä uudet ToF-, moottori- ja linalg-kirjastot. cpufreq -API uudistettiin ja sensor.set_framesize() nostaa nyt poikkeuksen — lue alla olevat rikkovat muutokset.
Kohokohdat¶
FLIR Lepton — täysi lämpökameran tuki uuden
sensor.ioctl()-rajapinnan, väripalettien jaimage.to_rainbow()-metodin kautta.tv-moduuli — SPI TV / komposiittivideolähtö.Globaalisuljinpohjainen liipaistu tila — MT9V034:n liipaistu kuvaus
sensor.ioctl()-metodin kautta.Kuvankäsittely —
gamma_corr(),draw_ellipse(),draw_edges(),draw_image()-alfasekoitus ja monia uusia blob-ominaisuuksia.Uudet kirjastot — VL53L1X ToF -etäisyys, TB6612-moottoriohjain, micro-linalg.
Rikkova:
cpufreq-API uudistettiin,sensor.set_framesize()nostaa nyt poikkeuksen epäonnistuessaan,sensor.alloc_extra_fb()pudotti Bayer/JPEG-tuen jaimage.replace()-metodin paikkakohtaiset argumentit siirtyivät — katso rikkovat muutokset.
Uudet ominaisuudet¶
FLIR Lepton — lisättiin
sensor.ioctl()sensorikohtaiseen ohjaukseen ja täysi sarja Lepton-ioctl-komentoja (radiometria, virkistys/resoluutio, run-command, attribuutin asetus/haku, FPA/AUX-lämpötila °C-asteina, mittaustila/-alue, leveys/korkeus),sensor.set_color_palette()/sensor.get_color_palette()paleteillasensor.PALETTE_RAINBOW/PALETTE_IRONBOW,image.to_rainbow()sekä Lepton-esimerkkiskriptit (27-Lepton).Liipaistu tila —
IOCTL_SET_TRIGGERED_MODE/IOCTL_GET_TRIGGERED_MODEMT9V034:n globaalisuljinpohjaiseen liipaistuun kuvaukseen, mukana korkean FPS:n ja liipaistun tilan esimerkit.tv-moduuli — lisättiin SPI TV / komposiittivideolähtösidonnat.Kuvankäsittely — lisättiin
image.gamma_corr(),image.draw_ellipse(),image.draw_edges(),draw_image()-alfasekoitus,mask=-avainsana metodiinclear(), palautettiinmask_rectangle()/mask_circle()/mask_ellipse(), kierto- / hmirror- / vflip-avainsanat metodeihindraw_string()/draw_text(),transpose-avainsana (sekäassign/set-aliakset) metodiinreplace(),copy()-metodinx_scale/y_scalesekäcrop()/scale(),Image()-konstruktori mitoista,sensor.BINARY-pikseliformaatti, viedyt väriavaruusmuunnosfunktiot ja monia uusia blob-ominaisuuksia (corners,perimeter,roundness,elongation,extent,compactness,solidity,convexity,enclosing_circle,enclosed_ellipse, kierto).Kirjastot — lisättiin
vl53l1xToF -etäisyyssensorin ajuri,tb6612-moottoriohjain (DC-moottori- ja askelmoottori-Motor-Shield-esimerkkeineen) sekä micro-linalg-kirjasto (ulinalg/umatrix).Päivitettiin FatFS versioon FF13C (exFAT-yhteensopiva).
Muut muutokset ja parannukset¶
Parannettiin oletusarvoista JPEG-laatua (matalan ja korkean välimaasto kovakoodatun arvon sijaan); paikallaan tehtävät kuvaoperaatiot eivät enää vaadi kuvan toistamista ensimmäisenä argumenttina;
draw_string()hyväksyy ei-kokonaislukuisia skaalausarvoja.
Virhekorjaukset¶
Kamera ja sensorit:
Korjattiin Lepton 3.5:n käynnistyksen jumiutuminen (aikakatkaisu + palautus) ja resetin luotettavuus, MT9V034:n
set_framesize()ennenset_pixformat()-kutsua (kutsujärjestyksellä ei enää ole väliä), MT9V034 WVGA STM32H7:llä, MT9V034:n automaattivalotusalue ja varjorekisteripäivitykset sekä H7:n ADC-virhe.
Kuvankäsittely:
Korjattiin virheellinen muistinkäyttö metodissa
find_apriltags(),copy()kopioitaessa skaalattua kuvaa päakehyspuskuriin,to_grayscale()/to_rgb565()-kehyspuskurin varaus, keypoint-objektinlen(), JPEG MCU -rajakäsittely,binary()-kynnysarvolistan jäsennys jadraw_keypoints()-metodin keypoint-monikoiden hyväksyminen.
Järjestelmä:
Korjattiin
fb_allocmark/free-epätasapainon vuodotimage/fir/lcd/tv/nn-metodien välillä, asetettiinpy_assertvapauttamaan kehyspuskurimuisti napatuissa poikkeuksissa (#417), tyhjennettiin UART-ylivuotolippu (ORE) niin etteivät ylivuodot enää jumita UART-lukuja, korjattiin RTC IRQ -käsittelijä ja Windowsincascade_convert.py-työkalu.
Laitteisto- ja korttituki¶
FLIR Lepton -lämpökamera.
TV-shield — SPI TV / komposiittivideolähtö.
Globaalisuljin (MT9V034) liipaistu tila.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkomukset v3.2.0:n ja v3.3.0:n välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — vaikuttaa useimpiin skripteihin, jotka käyttivät ominaisuutta; sinun täytyy siirtää koodia.
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 siirtää koodisi, hyppää lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää diffiinsä GitHubissa.
cpufreq -API uudistettu (major)¶
cpufreq -moduuli uudistettiin H7-tukea varten. Vakiot cpufreq.CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ sekä cpufreq.get_frequency() poistettiin. cpufreq.set_frequency() ottaa nyt pelkän kokonaislukuisen MHz-arvon (esim. cpufreq.set_frequency(120)), ja lisättiin cpufreq.get_current_frequencies() / cpufreq.get_supported_frequencies().
Commitit: 6babf84a1
image.replace() -metodin paikkakohtaiset argumentit siirtyivät (minor)¶
image.replace() sai transpose -argumentin, mikä siirsi paikkakohtaisen mask -argumentin paikasta 4 paikkaan 5. Koodin, joka välitti mask -argumentin paikkakohtaisesti (esim. img.replace(src, hmirror, vflip, mask)), täytyy vaihtaa avainsanamuotoon img.replace(src, mask=mask).
Commitit: dbe7bf059
sensor.alloc_extra_fb() ei enää hyväksy Bayer/JPEG-muotoja (minor)¶
sensor.alloc_extra_fb() ei enää hyväksy sensor.BAYER tai sensor.JPEG -muotoja (se tukee nyt myös sensor.BINARY -muotoa). Koodin, joka varasi ylimääräisiä kehyspuskureita Bayer- tai JPEG-muodossa, täytyy käyttää GRAYSCALE / RGB565 -muotoa (tai varata puskuri jollain muulla tavalla).
Commitit: f9e6b3fe0
sensor.set_framesize() nostaa poikkeuksen epäonnistuessaan (behavior)¶
sensor.set_framesize() nostaa nyt ValueError -poikkeuksen, kun kehyskoko ei ole tuettu, sen sijaan että palauttaisi False. Koodin, joka tarkisti False -paluuarvon, täytyy sen sijaan napata ValueError -poikkeus.
Commitit: b0442633e
Siirtymistarkistuslista¶
Siisti siirtymä versioon v3.3.0 vaatii tyypillisesti seuraavan työn:
Siirrä
cpufreq-koodi käyttämään kokonaislukuista MHz-arvoistaset_frequency()-kutsua sekäget_current_frequencies()/get_supported_frequencies()-kutsuja (cpufreq-uudistus).Välitä
maskmetodilleimage.replace()avainsanana (replace-muutos).Varaa ylimääräiset kehyspuskurit muodossa
GRAYSCALE/RGB565Bayer/JPEG:n sijaan (alloc_extra_fb-muutos).Nappaa
ValueErrorsensor.set_framesize()-kutsun ympärilläFalse-arvon tarkistamisen sijaan (set_framesize-muutos).
Kaikki muut skriptit toimivat muuttumattomina.