v3.6.4

v3.6.4 přidává knihovnu RTSP video-serveru, plně opravuje obrazové režimy OV5640 (Grayscale / RGB565 / Bayer / JPEG ve všech rozlišeních), zdvojnásobuje FPS senzoru optimalizovaným ovladačem a opravuje dávku chyb kódování Bayer / JPEG. Změnilo se image.get_pixel() u Bayer obrazů a automatické otáčení senzoru — přečtěte si přelomové změny níže.

Hlavní novinky

  • RTSP — nová knihovna RTSP video-serveru s příkladem.

  • OV5640 — Grayscale / RGB565 / Bayer / JPEG nyní fungují ve všech rozlišeních, s větším maximálním JPEG přenosem a zdvojnásobeným readoutem ve vysokém rozlišení.

  • Dvojnásobné FPS — ovladač senzoru byl optimalizován na ~2× snímkovou frekvenci.

  • Opravy — Bayer hrana/vflip, softwarový JPEG (1-bpp a YCbCr stupně šedi) a problémy s přetečením bufferu.

  • Přelomová změna: image.get_pixel() nyní provádí debayer Bayer obrazů a automatické otáčení se nyní znovu aplikuje při sensor.reset() — viz přelomové změny.

Nové funkce

  • RTSP — přidána knihovna rtsp a příklad rtsp_video_server.py pro streamování videa přes RTSP.

Další změny a vylepšení

  • Optimalizován ovladač senzoru na zhruba dvojnásobnou snímkovou frekvenci, zdvojnásoben readout OV5640 ve vysokém rozlišení pro Bayer/Grayscale/JPEG, zvýšena maximální velikost přenosu JPEG obrazu a aktualizován cascade_convert.py pro práci s Python 3.

Opravy chyb

Kamera a zpracování obrazu:

  • Opraveny obrazové režimy OV5640, takže Grayscale / RGB565 / Bayer / JPEG fungují správně ve všech rozlišeních, Bayer vflip na OV7725 / OV7690, chyba převodu Bayer u pravé hrany, softwarové kódování JPEG u 1-bpp obrazů a YCbCr stupňů šedi (odečtení −128), zbytková data u JPEG obrazů a problémy s přetečením bufferu.

Přelomové změny API

Uživatelsky viditelné přelomové změny API mezi v3.6.3 a v3.6.4. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.

Obě přelomové změny jsou změny typu behavior (stejné API, jiné výsledky) — znovu zkontrolujte ovlivněné skripty. Každý hash commitu odkazuje na svůj diff na GitHubu.

image.get_pixel() provádí debayer Bayer obrazů (behavior)

image.get_pixel() na obrazu ve formátu Bayer nyní provádí debayer a vrací n-tici (r, g, b) namísto surové jednokanálové Bayer hodnoty. Skripty, které četly surové Bayer hodnoty přes get_pixel(), nyní obdrží interpolované RGB n-tice a musí být aktualizovány.

Commity: bf16b6a4f

Automatické otáčení se znovu aplikuje při sensor.reset() (behavior)

Automatické otáčení senzoru je nyní (znovu) spuštěno při sensor.reset(). Skripty, které volaly sensor.reset() po nakonfigurování orientace a očekávaly, že stav otočení přetrvá nebo se znovu neaplikuje, mohou vidět jinou orientaci a měly by být znovu zkontrolovány.

Commity: 0d13a214b

Kontrolní seznam migrace

Aktualizujte kód, který četl surové Bayer hodnoty přes image.get_pixel(), aby očekával n-tici (r, g, b) (změna get_pixel) a znovu zkontrolujte orientaci senzoru kolem sensor.reset() (změna automatického otáčení). Všechny ostatní skripty běží beze změny.