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 时跳过应用 alpha 以提升性能。
Bug 修复¶
摄像头与成像:
修复并加速了旋转校正、左边缘 Bayer 转 YCbCr 的 bug,并为
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,不同结果;请重新检查经过调优的脚本。
各项变更按上述顺序依影响分组。如果你只想移植代码,请直接跳到末尾的 迁移检查清单。每个提交哈希都链接到其在 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。)
提交: 8f8872537
draw_image() 负缩放被移除 (behavior)¶
image.draw_image() 不再支持负缩放,且纹理采样点被移至像素中心。依赖负缩放在绘制时翻转图像的脚本必须采用其他方式翻转,且输出相比之前最多可能偏移半个像素。
提交: 7e83dbb92
迁移检查清单¶
将 image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER 重命名为 image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER(提示常量重命名),并用显式翻转替换任何 draw_image() 负缩放(draw_image 缩放变更)。所有其他脚本无需更改即可运行。