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.