v3.6.3¶
v3.6.3 在 OpenMV 3 / F7 上啟用了 TensorFlow,新增 uint8/int8/float32 模型支援,將 MLX90640/AMG8833 熱感測器切換為硬體 I2C,新增影像差異直方圖與鏡頭校正偏移,並重新設計讀出控制。image 的提示常數已重新命名,且 draw_image() 的縮放有所變更 — 請閱讀下方的破壞性變更。
重點摘要¶
OpenMV 3 / F7 上的 TensorFlow — 在以 F7 為基礎的相機上啟用
tf,並支援 uint8/int8/float32 模型。熱感測器 — MLX90640 與 AMG8833 切換為硬體 I2C,並搭配全新的 MLX90640 驅動程式。
影像處理 —
get_histogram()中的影像差異支援,以及lens_corr()的偏移校正。draw_image — 灰階模式下的 alpha 調色盤,以及重新設計的讀出控制。
破壞性變更:
image的提示常數已重新命名,且draw_image()的負縮放已移除 — 請參閱破壞性變更。
新功能¶
TensorFlow — 在 OpenMV 3 / F7 上啟用
tf,並更新 TensorFlow 以支援 uint8 / int8 / float32 模型。get_histogram()— 新增影像差異功能。lens_corr()— 新增偏移校正。draw_image()— alpha 調色盤現在可在(非雙線性的)灰階模式下運作,並支援雙線性內插的 alpha 調色盤與影像置中;新增讀出控制程式碼。
其他變更與改進¶
將 MLX90640 與 AMG8833 切換為硬體 I2C(全新的 MLX90640 驅動程式、為外部感測器提供開發板設定的硬體 I2C、提高 MLX 讀出重試次數),在支援的相機上啟用 I2C fast-mode-plus,新增帶 I2C 時序的 cambus 讀/寫位元組,並在 alpha 為 0 時略過套用以提升效能。
錯誤修正¶
相機與影像處理:
修正並加速了旋轉校正、左緣 Bayer 轉 YCbCr 的錯誤,並為
bayer_to_y()/bayer_to_binary()新增邊緣修正。
工具:
修正了 Python 2/3 錯誤與
get_statistics()的呼叫順序。
破壞性 API 變更¶
v3.6.2 與 v3.6.3 之間使用者可見的 API 破壞性變更。範圍:modules/ 中的 Python C 模組與 scripts/libraries/ 中的 Python 函式庫。
每項變更皆標註其影響範圍:
minor — 範圍狹窄的 API;僅影響有使用它的指令碼。
behavior — 相同 API,不同結果;請重新檢查經過調校的指令碼。
變更依影響範圍依序分組。如果你只想移植程式碼,請直接跳到結尾的 遷移檢查清單。每個 commit 雜湊值皆連結至其在 GitHub 上的 diff。
image 提示常數重新命名 (minor)¶
image 的繪圖提示常數已重新命名:image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR、image.IMAGE_CENTER → image.IMAGE_HINT_CENTER。將舊常數名稱傳入 draw_image() 的指令碼必須改用新名稱。(這些常數在 v3.7.0 中再次重新命名為 image.BILINEAR / image.CENTER。)
Commits: 8f8872537
draw_image() 負縮放已移除 (behavior)¶
image.draw_image() 不再支援負縮放,且紋理取樣點已移至像素中心。原本依賴負縮放在繪製時翻轉影像的指令碼必須改以其他方式翻轉,且輸出相較於先前可能會偏移多達半個像素。
Commits: 7e83dbb92
遷移檢查清單¶
將 image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER 重新命名為 image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER(提示常數重新命名),並以明確的翻轉取代任何 draw_image() 的負縮放(draw_image 縮放變更)。所有其他指令碼皆可不變運作。