v3.6.0

v3.6.0 帶來了完整的 OV5640 500 萬畫素相機支援,含新的高解析度影格尺寸(HD / FHD / QHD / QXGA / WQXGA),將核心更新至 MicroPython 1.12,大幅最佳化了軟體 JPEG 編碼器及 AprilTag / 線條偵測,在 OpenMV Cam H7 Plus 上新增了 UVC(USB 視訊),並支援最高 32 MB 的 QSPI 快閃記憶體。MicroPython 的行為與 get_histogram() 已變更——請閱讀下方的破壞性變更。

重點摘要

  • OV5640 500 萬畫素——完整的相機驅動程式,含新的 HD / FHD / QHD / QXGA / WQXGA / WQXGA2 影格尺寸。

  • MicroPython 1.12——隨附的核心已更新。

  • 更快的處理流程——大幅最佳化了軟體 JPEG 編碼、AprilTag 偵測、LSD 線條偵測、histeq() 及 QR 碼解碼。

  • H7 Plus 上的 UVC——OpenMV Cam H7 Plus 可作為 USB 視訊裝置運作。

  • 破壞性變更: MicroPython 的行為、image.get_histogram() 的正規化,以及 OpenMV 3 的 JPEG/灰階輸出已變更——請參閱破壞性變更。

新功能

  • OV5640——新增對 OV5640 500 萬畫素相機的完整支援(在 sensor 初始化中設定外部時脈),以及新的 sensor.HD / FHD / QHD / QXGA / WQXGA / WQXGA2 影格尺寸常數。

  • TIM4——已釋出,因此可從 MicroPython 中使用。

  • 新增了 DAC 計時寫入範例(dac_write_timed.py),並將 dac_control.py 重新命名為 dac_write.py

其他變更與改進

  • 將隨附的 MicroPython 更新至 1.12;大幅最佳化了軟體 JPEG 編碼器(VGA 路徑、灰階/二值路徑、以整數運算取代浮點運算、最佳化 MCU 擷取)、LSD find_line_segments()、AprilTag 偵測、Image.histeq() 及 QR 碼 / RGB 轉灰階的轉換;新增了對最高 32 MB 晶片的 QSPI 快閃記憶體支援;移除了過時的 CMSIS-CNN cnn.py 範例。

錯誤修正

相機與影像處理:

  • 修正了 HQQQVGA 下的 JPEG 編碼損毀、二值(1 位元)影像 → JPEG 壓縮、一個 find_line_segments() 的退化問題(重新啟用了 NOTDEF 非對齊檢查),以及一些 OV2640 驅動程式的小問題。

系統與開機:

  • 修正了自我測試 / 檔案系統損毀問題(selftest.py 現在會在啟用 USB MSC 之前執行,且發生致命錯誤時會啟用 USB MSC,讓主機可讀取錯誤記錄)、pyb.DACwrite_timed()、H7 的 machine.I2C 時序、F7 在停止模式後重新啟用超頻(overdrive),以及 stop_mode.pyrtc.wakeup() 間隔。

硬體與板子支援

  • OV5640——完整的 500 萬畫素相機驅動程式,含高解析度影格尺寸。

  • OpenMV Cam H7 Plus——UVC(USB 視訊)支援;OPENMV4R 板子目標已重新命名為 OPENMV4P

  • QSPI 快閃記憶體——現在支援最高 32 MB 的晶片。

破壞性 API 變更

v3.5.2 與 v3.6.0 之間使用者可見的 API 變更。範圍:modules/ 中的 Python C 模組,以及 scripts/libraries/ 中的 Python 函式庫。

這三項破壞性變更都是行為變更(API 相同,結果不同)——請重新檢查受影響的指令碼。每個提交雜湊都連結至其在 GitHub 上的差異。

MicroPython 更新至 1.12 (行為)

隨附的 MicroPython 核心已更新至 1.12。標準函式庫與語言行為遵循上游 MicroPython 1.12;請重新檢查依賴特定版本 micropython / 標準模組行為的指令碼。

提交: eafd431ea

image.get_histogram() 閾值正規化已變更 (行為)

使用色彩閾值的 image.get_histogram()(及 get_statistics())現在會以經過閾值處理的像素數量進行正規化,而非整個 ROI,並在分組(bin)索引時使用無條件捨去(floor)而非四捨五入。經過閾值處理的呼叫所得到的直方圖/統計值與先前版本不同——請重新調整原本與絕對直方圖值比較的程式碼。

提交: 7cf0f8089

OpenMV 3 JPEG/灰階輸出已變更 (行為)

為節省快閃記憶體,OpenMV 3(M7)的 YUV 查詢表已被停用,因此 OpenMV 3 上的 JPEG 與灰階輸出像素值的計算方式略有不同。輸出仍然有效,但與先前版本略有差異;請重新檢查 OpenMV 3 上像素精確的比較。

提交: 0e4b46e41

遷移檢查清單

針對 1.12 重新驗證依賴特定版本 MicroPython 行為的指令碼(MicroPython 升級),在使用色彩閾值時重新調整原本與絕對 get_histogram() / get_statistics() 值比較的程式碼(直方圖變更),並重新檢查 OpenMV 3 上像素精確的比較(OpenMV 3 輸出變更)。所有其他指令碼可原封不動執行。