v4.4.3¶
v4.4.3 introduce la scheda OpenMV RT1060 (NXP i.MX RT1060), un’API di registrazione MJPEG molto ampliata, nuovi metodi ISP per le immagini (bilanciamento automatico del bianco, matrice di correzione del colore, gamma) e MicroPython 1.20. I nomi delle schede Arduino sono stati cambiati e i valori predefiniti MJPEG sono cambiati: leggi le modifiche con rotture di compatibilità qui sotto.
In evidenza¶
OpenMV RT1060 — nuova scheda NXP i.MX RT1060 (e una revisione REV2).
API MJPEG ampliata —
write(),count,is_closed,sync(), parole chiave ROI/palette/alpha e un finalizzatore.Nuovi metodi ISP —
image.awb(),image.ccm(),image.gamma().MicroPython aggiornato alla 1.20.0.
Rottura di compatibilità: i target delle schede Arduino sono stati rinominati e la qualità predefinita MJPEG è cambiata: vedi le modifiche con rotture di compatibilità.
Nuove funzionalità¶
OpenMV RT1060 — porting completo di NXP i.MX RT1060 (driver sensore, GPIO, I2C, SPI) e configurazione della scheda, oltre al supporto della revisione di scheda RT1060 REV2 e di
machine.RTCallarme/wakeup sulla porta i.MX RT.MJPEG — un nuovo metodo
Mjpeg.write()(con parole chiaveroi,rgb_channel,alpha,color_palette,alpha_palette,hint) piùcount,is_closed,sync()e un finalizzatore__del__, e gli alias del costruttoreMJPEG/Mjpeg/mjpeg.Metodi ISP per le immagini —
image.awb([max])(bilanciamento automatico del bianco),image.ccm(matrix)(matrice di correzione del colore 3x3 / 4x3) eimage.gamma(gamma, contrast, brightness).AprilTag — nuovi attributi di centroide in virgola mobile
cxf/cyf(cx/cyrestituiscono ancora interi arrotondati).ML —
tf.regression()ora accetta un ndarray ulab e supporta tensori di input 2D (1D ancora supportato); ulteriori operazioni TensorFlow Lite sono state abilitate nelle librerielibtfincluse.
Altre modifiche e miglioramenti¶
MicroPython aggiornato alla 1.20.0; ulab aggiornato alla 6.0.12.
image.gamma/gamma_corrrielaborati come metodo ISP ed estesi per supportare immagini Bayer e YUV (non solo immagini mutabili).Le schede STM32 (Portenta H7, Nicla Vision) sono passate al driver WiFi open-source cyw43.
La libreria
rtspè stata resa portabile (usarandom/timeinvece dipyb);urequestsora chiude sempre il suo socket.
Correzioni di bug¶
Camera e sensori:
Corretti la frequenza del clock OV767x (CLKRC) sull’Arduino Nano 33 BLE Sense, la gestione del bypass/pre-scaler CLKRC dell’OV7670 e le linee dati D0/D1 invertite sull’Arduino Nicla Vision / ML kit (porta nrf).
Sistema e USB:
Corretta la gestione dei pacchetti USB corti in modalità debug TinyUSB (trasferimenti IDE/host più affidabili).
Corrette la polarità del LED lampeggiante della OpenMV RT1060 e il rilevamento della scheda SD all’accensione.
Hardware e supporto schede¶
OpenMV RT1060 — nuova scheda NXP i.MX RT1060, più la revisione REV2.
STM32 — Portenta H7 / Nicla Vision passate al driver WiFi open-source cyw43.
Modifiche API con rotture di compatibilità¶
Rotture di compatibilità dell’API visibili all’utente tra la v4.4.2 e la v4.4.3. Ambito: moduli C Python in modules/ e librerie Python in scripts/libraries/.
Ogni modifica è contrassegnata con il suo impatto:
comportamento — stessa API, risultati diversi; ricontrolla gli script regolati con cura.
tooling — interessa la denominazione / il flashing delle schede, non l’API Python.
Le modifiche sono raggruppate per impatto in quell’ordine. Ogni hash di commit rimanda al suo diff su GitHub.
Valori predefiniti MJPEG e gestione degli errori (comportamento)¶
Il codice di registrazione MJPEG è stato rivisto. La quality JPEG predefinita di add_frame() / write() è stata aumentata da 50 a 90 (le registrazioni sono più grandi e di qualità superiore per impostazione predefinita), una qualità non valida ora solleva ValueError, operare su un file chiuso ora solleva OSError, e i metodi di registrazione ora restituiscono l’oggetto Mjpeg. Gli script che dipendevano dalla vecchia qualità predefinita o dal precedente comportamento degli errori dovrebbero essere ricontrollati.
Commit: 3fc55ad31
Target delle schede Arduino rinominati (tooling)¶
I target delle schede Arduino sono stati rinominati secondo una convenzione di denominazione aggiornata e tutti i manifest delle schede (set di moduli congelati) sono stati rinnovati. Questo non modifica l’API Python, ma i nomi dei file firmware/delle schede usati per compilare o flashare le schede Arduino sono cambiati: aggiorna di conseguenza il tuo tooling.
Checklist di migrazione¶
Per un porting pulito alla v4.4.3: ricontrolla le registrazioni MJPEG per la nuova qualità predefinita e il comportamento degli errori (la modifica MJPEG), e aggiorna il tooling di build/flash per i target delle schede Arduino rinominati (la rinominazione delle schede). Tutti gli altri script funzionano invariati.