v4.5.3¶
v4.5.3 on laaja julkaisu: OV5640-autotarkennus, reunanpehmennetty viivanpiirto, viralliseen koodikantaan tuotu laitteistopohjainen JPEG-dekooderi, merkittäviä i.MX RT (RT1060) -ominaisuusparannuksia ja laaja joukko kamera-/ISP-korjauksia. Useita harvoin käytettyjä kuvametodeja poistettiin ja joitakin ISP-/näyttö-API:ja muutettiin — lue alla olevat rikkovat muutokset.
Kohokohdat¶
OV5640-autotarkennus — käytössä OpenMV 4- / 4 Plus- / RT1060-laitteissa (
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)), esimerkin kera.Reunanpehmennetty
draw_line()ja viralliseen koodikantaan tuotu STM32:n laitteistopohjainen JPEG-dekooderi (nopeampi JPEG-purku).OpenMV RT1060 sai ulabin, ISP-operaatiot,
set_framerate()- /set_frame_callback()-metodit, paljon suuremman kehyspuskurin ja CAN-ajurin.Rikkova:
Image.div()/cartoon()/mul()poistettiin ja joitakin ISP-/näyttö-API:ja muutettiin — katso rikkovat muutokset.
Uudet ominaisuudet¶
OV5640-autotarkennus — autotarkennuslaiteohjelmisto on käytössä OPENMV4-, OPENMV4P- ja OPENMV RT1060 -laitteissa; laukaise se komennolla
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS). Lisättiin uusi07-Sensor-Control/autofocus.py-esimerkki.Reunanpehmennetty viivanpiirto —
draw_line()sai reunanpehmennyksen.Mukautetut SPI-näyttöohjaimet —
SPIDisplayhyväksyy nytcontroller=-avainsanan ja tarjoaabus_write-koukun mukautettuja alustus-/komentosekvenssejä varten.Image.ccm()-parannus — hyväksyy nyt sisäkkäiset 3x3- / 4x3- / 3x4- / 4x4-matriisit ja ulab-taulukot (valinnaisen kanavakohtaisen offset-rivin kera); lisättiin värinkorjausesimerkki.i.MX RT JPEG -kuvaus —
sensor.JPEG-kuvaus Arduino Portenta-/Nicla Vision-/Giga-laitteilla sekäset_framerate()jaset_frame_callback()mimxrt-portissa.TFLite-mallin validointi — mallit sisältävät nyt operaattorijärjestyksen hajautusarvon ja operaattorijoukon koon.
WiFi — lisättiin CYW43-turvatilavakiot; uudet i.MX RT -korttiohjauksen esimerkkiskriptit (Pin/ADC/CAN/I2C/PWM/SPI/UART/…).
Muut muutokset ja parannukset¶
MicroPython päivitettiin versioon 1.22; CMSIS päivitettiin versioon 5.9.0.
Viralliseen koodikantaan tuotu STM32:n laitteistopohjainen JPEG-dekooderi — nopeampi JPEG-purku sirulla olevalla koodekilla.
Optimoitiin
Image.invert()/negate()sekä binääri-/matematiikkakuvaoperaatiot (CMSIS-intrinsikat).rpc- javl53l1x-kirjastoista tehtiin siirrettäviä (käyttävätmachine- /time-moduulejapyb:n sijaan), joten ne toimivat myös muissa kuin STM32-porteissa.DMA-kiihdytetty kehyspuskurin memcpy OpenMV H7- / H7 Plus- / Pro- / Pure Thermal- ja Arduino Giga- / Nicla Vision- / Portenta H7 -laitteilla; STM32 skannaa nyt I2C-laitteet kerran skannausta kohti nopeampaa käynnistystä varten.
Virhekorjaukset¶
Kamera ja sensorit:
Korjattiin STM32-kameran XCLK todelliseksi 50 %:n pulssisuhteeksi sekä virhe, kun kameran kellotaajuudeksi asetetaan nolla; korjattiin Bayer-rajaus+transponointi, YUV422-värisiirtymä ja
set_windowing()mimxrt-portissa.Korjattiin GC2145:n siru-ID-tunnistus sekä hmirror/vflip kierretyissä asennuksissa; korjattiin PAJ6100 RT1062:lla ja PixArt PAJ7620/PAW3902 -SPI-puskurin ylivuoto.
Kuvankäsittely:
Korjattiin
find_rects()-roi-rajaus,morph()-murto-osa-offsetin katkaisu,image.gamma()-kontrastin/kirkkauden oletukset,get_threshold()-A/B-offsetit RGB565:ssä ja JPEG-purku mitoille, jotka eivät ole 8:n kerrannaisia.
Järjestelmä ja kirjastot:
machine.LED.value()ilman argumenttia palauttaa nyt LEDin tilan sen tyhjentämisen sijaan; korjattiin SPI SSEL -deinit jaetulla väylällä,machine.deepsleep()RT1062:lla, TF-kaatuminen puuttuvilla operaattoreilla sekä WINC1500/ninaw10 NIC:n automaattinen aktivointiconnect()-kutsulla.
Laitteisto- ja korttituki¶
OpenMV RT1060 — ulab ja ISP-operaatiot käytössä, suurempi kehyspuskuri (10M→20M) / fb_alloc (2M→11M), CAN-ajuri palautettu, enemmän kekoa.
Arduino GIGA — GC2145-kameratuki, GC2145/OV5640-automaattitunnistuksella (ne jakavat I2C-osoitteen).
i.MX RT —
sensor.JPEG-kuvaustuki.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-muutokset versioiden v4.5.2 ja v4.5.3 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksellaan:
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — sama API, eri tulokset; tarkista uudelleen viritetyt skriptit.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, hyppää lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää muutoksen erotteluun GitHubissa.
Poistetut kuvametodit (minor)¶
Image.div(), Image.cartoon() (ja sen esimerkki) sekä Image.mul() poistettiin.
Näyttömoduulin API (minor)¶
Vanha udisplay-moduulinimen varatie poistettiin — moduuli on rekisteröity vain nimellä display. Vain DSI:lle tarkoitetut dsi_write() / dsi_read() -metodit korvattiin bus_write() / bus_read() -metodeilla, jotka ovat nyt käytettävissä kaikilla näyttöohjaimilla.
MQTT- ja tf.regression-API-muutokset (minor)¶
mqtt-kirjaston MQTTClient uudistettiin: port on nyt pakollinen, lisättiin uudet ssl_params / callback -konstruktoriavainsanat sekä timeout-argumentti connect()-metodiin, vanhat ssl= / port=0 -oletukset poistettiin, ja check_msg() ei nyt enää estä suoritusta. tf.regression() kirjoitettiin uudelleen — sen allekirjoitus on nyt regression(model, array) ja se käsittelee 1D-/2D-/3D- ja kvantisoituja (int8) malleja.
ISP-/sensorikäyttäytymismuutokset (behavior)¶
Image.awb() uudistettiin — gray-world (oletus) vs. white-patch (max=True) on nyt selkeästi eroteltu, ja max-argumentti sekä Image.gamma():n gamma / contrast / brightness -argumentit ovat nyt vain avainsanoina annettavia (positionaaliset kutsut on päivitettävä). Kuvan transponointi on nyt poistettu käytöstä YUV422:lle (se tuotti aiemmin virheellistä tulostetta) ja YUV422-värisiirtymä korjattiin vastaamaan Bayeria. STM32:n JPEG-polku antaa nyt virheen JPEG-geometrian ristiriidasta vioittuneen kuvan tuottamisen sijaan, ja WiFi-AP-tila ottaa nyt käyttöön oletusturvatilan STM32- ja i.MX RT -porteissa.
Commitit: 36d5cecbd, 00500ccde, c1eeaefd6, 333fb2b5f, 55cab8733, c7d40f6af
Siirtymistarkistuslista¶
Siisti siirtyminen versioon v4.5.3 sisältää tyypillisesti seuraavan työn:
Lopeta
Image.div()/cartoon()/mul()-metodien käyttö (poistetut metodit).Tuo näyttömoduuli nimellä
displayja vaihdadsi_write/dsi_readmuotoonbus_write/bus_read(näytön API-muutos).Päivitä
MQTTClient-konstruointi (porton pakollinen;ssl_params/callback) ja kaikkitf.regression()-kutsut (kirjastojen API-muutokset).Anna
awb()-metodinmaxjagamma()-metodingamma/contrast/brightnessavainsana-argumentteina ja tarkista uudelleen YUV422-/transponointi- ja AP-tilan turvaoletukset (ISP-/sensorimuutokset).