v3.6.4#
v3.6.4 aggiunge una libreria video-server RTSP, corregge completamente le modalità di imaging dell”OV5640 (Grayscale / RGB565 / Bayer / JPEG a ogni risoluzione), raddoppia gli FPS del sensore con un driver ottimizzato e corregge un lotto di bug di encoding Bayer / JPEG. image.get_pixel() sulle immagini Bayer e la rotazione automatica del sensore sono cambiate — leggi le modifiche incompatibili più sotto.
In evidenza#
RTSP — una nuova libreria video-server RTSP con un esempio.
OV5640 — Grayscale / RGB565 / Bayer / JPEG ora funzionano a tutte le risoluzioni, con un trasferimento JPEG massimo più grande e readout ad alta risoluzione raddoppiato.
FPS raddoppiati — il driver del sensore è stato ottimizzato per un frame rate ~2×.
Correzioni — Bayer edge/vflip, JPEG software (1-bpp e scala di grigi YCbCr) e problemi di buffer overflow.
Incompatibile:
image.get_pixel()ora esegue il debayering delle immagini Bayer e la rotazione automatica ora viene riapplicata susensor.reset()— vedi le modifiche incompatibili.
Nuove funzionalità#
RTSP — aggiunta una libreria
rtspe un esempiortsp_video_server.pyper lo streaming video RTSP.
Altre modifiche e miglioramenti#
Ottimizzato il driver del sensore per circa il doppio del frame rate, raddoppiato il readout ad alta risoluzione dell’OV5640 per Bayer/Grayscale/JPEG, aumentata la dimensione massima di trasferimento delle immagini JPEG e aggiornato
cascade_convert.pyper funzionare con Python 3.
Correzioni di bug#
Camera e imaging:
Corrette le modalità di imaging dell’OV5640 affinché Grayscale / RGB565 / Bayer / JPEG funzionino correttamente a tutte le risoluzioni, il vflip Bayer su OV7725 / OV7690, l’errore di conversione Bayer sul bordo destro, l’encoding JPEG software delle immagini a 1-bpp e della scala di grigi YCbCr (la sottrazione di −128), i dati in coda alle immagini JPEG e i problemi di buffer overflow.
Modifiche incompatibili delle API#
Modifiche incompatibili visibili all’utente tra la v3.6.3 e la v3.6.4. Ambito: moduli C Python in modules/ e librerie Python in scripts/libraries/.
Entrambe le modifiche incompatibili sono modifiche di behavior (stessa API, risultati diversi) — ricontrolla gli script interessati. Ogni hash di commit rimanda al suo diff su GitHub.
image.get_pixel() esegue il debayering delle immagini Bayer (behavior)#
image.get_pixel() su un’immagine in formato Bayer ora esegue il debayering e restituisce una tupla (r, g, b) invece del valore Bayer grezzo a singolo canale. Gli script che leggevano i valori Bayer grezzi tramite get_pixel() riceveranno ora tuple RGB interpolate e devono essere aggiornati.
Commit: bf16b6a4f
La rotazione automatica viene riapplicata su sensor.reset() (behavior)#
La rotazione automatica del sensore viene ora (ri)attivata su sensor.reset(). Gli script che chiamavano sensor.reset() dopo aver configurato l’orientamento, aspettandosi che lo stato di rotazione persistesse o non venisse riapplicato, potrebbero vedere un orientamento diverso e dovrebbero essere ricontrollati.
Commit: 0d13a214b
Checklist di migrazione#
Aggiorna il codice che leggeva i valori Bayer grezzi tramite image.get_pixel() affinché si aspetti una tupla (r, g, b) (la modifica a get_pixel) e ricontrolla l’orientamento del sensore attorno a sensor.reset() (la modifica alla rotazione automatica). Tutti gli altri script funzionano senza modifiche.