v4.5.3¶
v4.5.3 je veliko izdanje: OV5640 autofokus, crtanje linija s anti-aliasingom, integrirani hardverski JPEG dekoder, veliki dobici u mogućnostima i.MX RT (RT1060) te širok skup ispravaka kamere/ISP-a. Nekoliko rijetko korištenih metoda za slike uklonjeno je, a neki ISP/display API-ji su promijenjeni — pročitajte prelomne promjene u nastavku.
Najvažnije¶
OV5640 autofokus — omogućen na OpenMV 4 / 4 Plus / RT1060 (
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)), uz primjer.draw_line()s anti-aliasingom i integrirani STM32 hardverski JPEG dekoder (brža JPEG dekompresija).OpenMV RT1060 dobio je ulab, ISP operacije,
set_framerate()/set_frame_callback(), znatno veći međuspremnik slike i CAN upravljački program.Prelomno:
Image.div()/cartoon()/mul()su uklonjeni, a neki ISP/display API-ji su promijenjeni — pogledajte prelomne promjene.
Nove značajke¶
OV5640 autofokus — firmware za autofokus omogućen je na OPENMV4, OPENMV4P i OPENMV RT1060; pokrenite ga s
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS). Dodan je novi primjer07-Sensor-Control/autofocus.py.Crtanje linija s anti-aliasingom —
draw_line()je dobio anti-aliasing.Prilagođeni SPI display kontroleri —
SPIDisplaysada prihvaća ključnu riječcontroller=i izlažebus_writehook za prilagođene init/command sekvence.Nadogradnja
Image.ccm()— sada prihvaća ugniježđene 3x3 / 4x3 / 3x4 / 4x4 matrice i ulab nizove (s opcionalnim redom pomaka po kanalu); dodan je primjer korekcije boje.i.MX RT JPEG snimanje —
sensor.JPEGsnimanje na Arduino Portenta/Nicla Vision/Giga, uzset_framerate()iset_frame_callback()na mimxrt portu.Validacija TFLite modela — modeli sada nose hash redoslijeda operatora i veličinu skupa operatora.
WiFi — dodane CYW43 konstante za sigurnosni način rada; nove i.MX RT primjer skripte za upravljanje pločom (Pin/ADC/CAN/I2C/PWM/SPI/UART/…).
Ostale promjene i poboljšanja¶
MicroPython ažuriran na 1.22; CMSIS ažuriran na 5.9.0.
Integrirani STM32 hardverski JPEG dekoder — brža JPEG dekompresija na ugrađenom kodeku.
Optimizirani
Image.invert()/negate()i binarne/matematičke operacije na slici (CMSIS intrinzike).Biblioteke
rpcivl53l1xučinjene su prenosivima (koristemachine/timeumjestopyb), pa rade na portovima koji nisu STM32.DMA-ubrzani memcpy međuspremnika slike na OpenMV H7 / H7 Plus / Pro / Pure Thermal i Arduino Giga / Nicla Vision / Portenta H7; STM32 sada skenira I2C uređaje jednom po skeniranju za brže pokretanje.
Ispravci grešaka¶
Kamera i senzori:
Ispravljen je STM32 XCLK kamere na pravi 50% radni ciklus te greška kada je frekvencija takta kamere postavljena na nulu; ispravljeni su Bayer crop+transpose, YUV422 pomak boje i
set_windowing()na mimxrt portu.Ispravljeno je očitavanje chip-ID-a GC2145 te hmirror/vflip na zarotiranim nosačima; ispravljen je PAJ6100 na RT1062 i prelijevanje SPI međuspremnika na PixArt PAJ7620/PAW3902.
Obrada slike:
Ispravljeni su roi clipping kod
find_rects(), odsijecanje frakcijskog pomaka kodmorph(), zadane vrijednosti kontrasta/svjetline kodimage.gamma(), A/B pomaci kodget_threshold()na RGB565 te JPEG dekodiranje dimenzija koje nisu višekratnik broja 8.
Sustav i biblioteke:
machine.LED.value()bez argumenta sada vraća stanje LED-a umjesto da ga briše; ispravljeni su SPI SSEL deinit na dijeljenoj sabirnici,machine.deepsleep()na RT1062, TF rušenje kod nedostajućih operatora te WINC1500/ninaw10 NIC automatska aktivacija priconnect().
Hardver i podrška za ploče¶
OpenMV RT1060 — omogućeni ulab i ISP operacije, veći međuspremnik slike (10M→20M) / fb_alloc (2M→11M), vraćen CAN upravljački program, više heapa.
Arduino GIGA — podrška za kameru GC2145, uz automatsko prepoznavanje GC2145/OV5640 (dijele I2C adresu).
i.MX RT — podrška za
sensor.JPEGsnimanje.
Prelomne promjene API-ja¶
Korisniku vidljivi prekidi API-ja između v4.5.2 i v4.5.3. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka promjena označena je svojim utjecajem:
minor — uski API; utječe samo na skripte koje su ga koristile.
behavior — isti API, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prenijeti svoj kod, prijeđite na kontrolni popis za migraciju na kraju. Svaki hash commita povezuje se sa svojim diffom na GitHubu.
Uklonjene metode za slike (minor)¶
Image.div(), Image.cartoon() (i njegov primjer) te Image.mul() su uklonjeni.
API display modula (minor)¶
Stari rezervni naziv modula udisplay je uklonjen — modul je registriran samo kao display. Metode dsi_write() / dsi_read(), namijenjene samo DSI-ju, zamijenjene su s bus_write() / bus_read(), koje su sada dostupne na svim display kontrolerima.
Promjene API-ja MQTT-a i tf.regression (minor)¶
MQTTClient iz biblioteke mqtt je preuređen: port je sada obavezan, dodane su nove konstruktorske ključne riječi ssl_params / callback te argument timeout na connect(), stare zadane vrijednosti ssl= / port=0 su uklonjene, a check_msg() sada ne blokira. tf.regression() je preinačen — njegov potpis sada je regression(model, array) i obrađuje 1D/2D/3D te kvantizirane (int8) modele.
Promjene ponašanja ISP-a / senzora (behavior)¶
Image.awb() je preuređen — gray-world (zadano) naspram white-patch (max=True) sada je eksplicitno, a argument max te argumenti gamma / contrast / brightness metode Image.gamma() sada su samo ključne riječi (pozicijske pozive treba ažurirati). Transpose slike sada je onemogućen za YUV422 (prethodno je davao netočan izlaz), a YUV422 pomak boje ispravljen je da odgovara Bayeru. STM32 JPEG put sada javlja grešku pri neslaganju JPEG geometrije umjesto da proizvede oštećenu sliku, a WiFi AP način sada primjenjuje zadani sigurnosni način na STM32 i i.MX RT portovima.
Commiti: 36d5cecbd, 00500ccde, c1eeaefd6, 333fb2b5f, 55cab8733, c7d40f6af
Kontrolni popis za migraciju¶
Za čist prijenos na v4.5.3 uobičajeni posao je:
Prestanite koristiti
Image.div()/cartoon()/mul()(uklonjene metode).Uvezite display modul kao
displayi prebacitedsi_write/dsi_readnabus_write/bus_read(promjena display API-ja).Ažurirajte konstrukciju
MQTTClient(portje obavezan;ssl_params/callback) i sve pozivetf.regression()(promjene API-ja biblioteka).Proslijedite
awb()maxtegamma()gamma/contrast/brightnesskao argumente ključne riječi te ponovno provjerite pretpostavke o YUV422/transpose i sigurnosti AP načina (promjene ISP-a/senzora).