v1.6.0

v1.6.0 新增了一个飞行时间(tof)模块、image.find_displacement()(FFT 相位相关光流)、一个图像池化 API、sensor.set_windowing(),以及 image.find_template() 搜索选项。find_template() 现在会强制校验其 ROI——请阅读下方的重大变更。

亮点

  • tof 模块 —— 飞行时间距离传感器支持。

  • image.find_displacement() —— FFT 相位相关(光流)。

  • 池化 —— midpoint_pool() / mean_pool() 及其池化变体。

  • sensor.set_windowing() —— 传感器开窗 / 合并,带新的低分辨率帧大小。

  • find_template() —— 新增 step / searchSEARCH_EX / SEARCH_DS)/ roi 选项。

  • 重大变更: image.find_template() 现在会强制要求一个有效的 ROI——参见重大变更。

新功能

  • tof —— 新增了一个飞行时间模块,带 tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg()(I2C ToF 传感器支持)。

  • image.find_displacement() —— 新增了 FFT 相位相关位移(带亚像素精度和结果质量),并附带一个光流示例。

  • 池化 —— 新增 Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled()

  • sensor.set_windowing((x, y, w, h)) —— 传感器开窗/合并,带用于光流的新 sensor.B40x30 / B64x32 / B64x64 帧大小。

  • image.find_template() —— 新增 stepsearchimage.SEARCH_EX 默认 / image.SEARCH_DS 快速菱形搜索)和 roi 关键字参数。

  • Image.copy_to_fb() —— 将图像拷贝到帧缓冲区(带可选的 (x, y) 偏移),并附带一个 copy2fb.py 示例。

其他变更与改进

  • find_template() 的菱形搜索更精确地细化其步长(更准确,但更慢);在 OpenMV 2 上,对于高于 VGA 的帧大小会自动启用合并;在 OV7725 上,VGA 下会禁用自动变焦/缩放。

Bug 修复

  • 修复了积分图和积分平方图的计算(影响 Haar / 特征 / 模板匹配的精度)、1D/2D FFT 和相位相关,以及原地池化会调整帧缓冲区大小的问题。

硬件与板卡支持

  • 通过 I2C 的飞行时间(ToF)距离传感器。

  • 用于光流的新低分辨率帧大小(B40x30 / B64x32 / B64x64)。

重大 API 变更

v1.5.0 与 v1.6.0 之间面向用户的 API 变更。范围:modules/ 中的 Python C 模块和 scripts/libraries/ 中的 Python 库。

这项重大变更是一项行为变更(API 相同,结果不同)——请重新检查受影响的脚本。每个提交哈希都链接到其在 GitHub 上的 diff。

image.find_template() 强制校验其 ROI (行为)

image.find_template() 现在会校验其感兴趣区域,并在 ROI 缺失/过大或小于模板时抛出异常("Region of interest is bigger than image!")。请传入一个有效的 roi=(x, y, w, h),其大小至少为模板大小且能容纳于图像内。

提交: a25e0c162

迁移清单

image.find_template() 传入一个有效的 roi(≥ 模板大小,且在图像范围内)(find_template 变更)。所有其他脚本无需改动即可运行。