v3.6.4¶
v3.6.4 新增了 RTSP 視訊伺服器函式庫,徹底修正了 OV5640 的成像模式(在所有解析度下的 Grayscale / RGB565 / Bayer / JPEG),透過最佳化的驅動程式將感測器 FPS 翻倍,並修正了一批 Bayer / JPEG 編碼錯誤。Bayer 影像上的 image.get_pixel() 與感測器自動旋轉有所變更 — 請閱讀下方的破壞性變更。
重點摘要¶
RTSP — 全新的 RTSP 視訊伺服器函式庫,並附有範例。
OV5640 — Grayscale / RGB565 / Bayer / JPEG 現在可在所有解析度下運作,並提供更大的最大 JPEG 傳輸量與翻倍的高解析度讀出。
FPS 翻倍 — 感測器驅動程式已最佳化,達到約 2 倍的影格率。
修正 — Bayer 邊緣/垂直翻轉、軟體 JPEG(1-bpp 與 YCbCr 灰階),以及緩衝區溢位問題。
破壞性變更:
image.get_pixel()現在會對 Bayer 影像進行去馬賽克(debayer),且自動旋轉現在會在sensor.reset()時重新套用 — 請參閱破壞性變更。
新功能¶
RTSP — 新增
rtsp函式庫與rtsp_video_server.py範例,用於 RTSP 視訊串流。
其他變更與改進¶
將感測器驅動程式最佳化以達到約兩倍的影格率,將 OV5640 的高解析度讀出(Bayer/Grayscale/JPEG)翻倍,增加最大 JPEG 影像傳輸大小,並更新
cascade_convert.py使其可在 Python 3 上運作。
錯誤修正¶
相機與影像處理:
修正了 OV5640 的成像模式,使 Grayscale / RGB565 / Bayer / JPEG 在所有解析度下都能正確運作、OV7725 / OV7690 上的 Bayer 垂直翻轉、右緣 Bayer 轉換錯誤、1-bpp 影像與 YCbCr 灰階的軟體 JPEG 編碼(−128 減法)、JPEG 影像上的尾隨資料,以及緩衝區溢位問題。
破壞性 API 變更¶
v3.6.3 與 v3.6.4 之間使用者可見的 API 破壞性變更。範圍:modules/ 中的 Python C 模組與 scripts/libraries/ 中的 Python 函式庫。
兩項破壞性變更皆為 behavior 變更(相同 API,不同結果)— 請重新檢查受影響的指令碼。每個 commit 雜湊值皆連結至其在 GitHub 上的 diff。
image.get_pixel() 會對 Bayer 影像進行去馬賽克 (behavior)¶
對 Bayer 格式影像呼叫 image.get_pixel() 現在會進行去馬賽克並回傳 (r, g, b) 元組,而非原始的單通道 Bayer 值。原本透過 get_pixel() 讀取原始 Bayer 值的指令碼現在會收到內插後的 RGB 元組,必須加以更新。
Commits: bf16b6a4f
自動旋轉會在 sensor.reset() 時重新套用 (behavior)¶
感測器的自動旋轉現在會在 sensor.reset() 時(重新)觸發。在設定方向後才呼叫 sensor.reset()、並預期旋轉狀態會持續存在或不會重新套用的指令碼,可能會看到不同的方向,應重新檢查。
Commits: 0d13a214b
遷移檢查清單¶
更新原本透過 image.get_pixel() 讀取原始 Bayer 值的程式碼,使其改為預期 (r, g, b) 元組(get_pixel 變更),並重新檢查 sensor.reset() 前後的感測器方向(自動旋轉變更)。所有其他指令碼皆可不變運作。