v3.6.0¶
v3.6.0 porta il pieno supporto per la camera OV5640 da 5 MP con nuove framesize ad alta risoluzione (HD / FHD / QHD / QXGA / WQXGA), aggiorna il core a MicroPython 1.12, ottimizza pesantemente l”encoder JPEG software e il rilevamento di AprilTag / linee, aggiunge UVC (video USB) sull’OpenMV Cam H7 Plus e supporta la flash QSPI fino a 32 MB. Il comportamento di MicroPython e di get_histogram() è cambiato — leggi le modifiche incompatibili qui sotto.
In evidenza¶
OV5640 da 5 MP — driver completo della camera con le nuove framesize HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — il core integrato è stato aggiornato.
Pipeline più veloce — codifica JPEG software, rilevamento AprilTag, rilevamento linee LSD,
histeq()e decodifica dei codici QR pesantemente ottimizzati.UVC sull’H7 Plus — l’OpenMV Cam H7 Plus può fungere da dispositivo video USB.
Incompatibile: il comportamento di MicroPython, la normalizzazione di
image.get_histogram()e l’output JPEG/scala di grigi dell’OpenMV 3 sono cambiati — vedi le modifiche incompatibili.
Nuove funzionalità¶
OV5640 — aggiunto il pieno supporto per la camera OV5640 da 5 MP (configurazione del clock esterno nell’init del sensore) e le nuove costanti di framesize
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — liberato in modo che sia utilizzabile da MicroPython.
Aggiunto un esempio di scrittura temporizzata del DAC (
dac_write_timed.py) e rinominatodac_control.pyindac_write.py.
Altre modifiche e miglioramenti¶
Aggiornato il MicroPython integrato alla 1.12; ottimizzati pesantemente l’encoder JPEG software (percorso VGA, percorsi scala di grigi/binario, matematica intera anziché in virgola mobile, cattura MCU ottimizzata),
find_line_segments()LSD, il rilevamento AprilTag,Image.histeq()e la conversione codice QR / RGB-a-grigi; aggiunto il supporto alla flash QSPI per chip fino a 32 MB; rimosso l’obsoleto esempio CMSIS-CNNcnn.py.
Correzioni di bug¶
Camera e imaging:
Corretti la corruzione della codifica JPEG a HQQQVGA, la compressione di immagini binarie (1 bit) → JPEG, una regressione di
find_line_segments()(riabilitato il controllo non allineatoNOTDEF) e problemi minori del driver OV2640.
Sistema e avvio:
Corretti la corruzione del self-test / filesystem (
selftest.pyora viene eseguito prima dell’abilitazione dell’USB MSC, e l’USB MSC viene abilitato in caso di errore fatale così l’host può leggere il log degli errori),write_timed()dipyb.DAC, le tempistiche dimachine.I2Csull’H7, la riabilitazione dell’overdrive F7 dopo la modalità stop e l’intervallortc.wakeup()distop_mode.py.
Hardware e supporto schede¶
OV5640 — driver completo della camera da 5 MP con framesize ad alta risoluzione.
OpenMV Cam H7 Plus — supporto UVC (video USB); il target di scheda
OPENMV4Rè stato rinominatoOPENMV4P.Flash QSPI — sono ora supportati chip fino a 32 MB.
Modifiche incompatibili delle API¶
Modifiche incompatibili delle API visibili all’utente tra v3.5.2 e v3.6.0. Ambito: moduli C Python in modules/ e librerie Python in scripts/libraries/.
Tutte e tre le modifiche incompatibili sono modifiche di comportamento (stessa API, risultati diversi) — ricontrolla gli script interessati. Ogni hash di commit rimanda al suo diff su GitHub.
MicroPython aggiornato alla 1.12 (comportamento)¶
Il core MicroPython integrato è stato aggiornato alla 1.12. Il comportamento della libreria standard e del linguaggio segue MicroPython 1.12 upstream; ricontrolla gli script che dipendono dal comportamento di micropython / dei moduli standard specifico della versione.
Commit: eafd431ea
La normalizzazione della soglia di image.get_histogram() è cambiata (comportamento)¶
image.get_histogram() (e get_statistics()) con soglie di colore ora normalizza in base al numero di pixel soglia anziché all’intera ROI, e usa il floor anziché l’arrotondamento per l’indicizzazione dei bin. I valori di istogramma/statistiche per le chiamate con soglia differiscono dalle release precedenti — ritara il codice che confrontava i valori assoluti dell’istogramma.
Commit: 7cf0f8089
L’output JPEG/scala di grigi dell’OpenMV 3 è cambiato (comportamento)¶
Per risparmiare flash, la tabella di lookup YUV dell’OpenMV 3 (M7) è stata disabilitata, quindi i valori dei pixel di output JPEG e in scala di grigi vengono calcolati in modo leggermente diverso sull’OpenMV 3. L’output è ancora valido ma differisce marginalmente dalle release precedenti; ricontrolla i confronti pixel-esatti sull’OpenMV 3.
Commit: 0e4b46e41
Checklist di migrazione¶
Rivalida rispetto alla 1.12 gli script che dipendono dal comportamento di MicroPython specifico della versione (l’aggiornamento di MicroPython), ritara il codice che confrontava i valori assoluti di get_histogram() / get_statistics() quando si usano soglie di colore (la modifica dell’istogramma) e ricontrolla i confronti pixel-esatti sull’OpenMV 3 (la modifica dell’output dell’OpenMV 3). Tutti gli altri script vengono eseguiti senza modifiche.