v4.5.5

v4.5.5 是一个小型维护版本,专注于图像缓冲区缓存一致性、传感器复位可靠性以及形态学 API 的整理。

亮点

  • 更可靠的捕获——视频缓冲区现在在使用前会进行缓存失效处理,并且增加了传感器复位/掉电延迟。

  • 破坏性变更: morph()ksize 现在是位置参数,且过时的池化方法已被移除(见破坏性变更)。

其他变更与改进

  • 增加了传感器复位/掉电后的延迟,以实现更可靠的摄像头启动(Portenta H7 会为其传感器覆盖这些延迟)。

错误修复

  • 修复了 erode() 的掩膜检查。

  • 视频缓冲区现在在返回前会进行缓存失效处理,以防止陈旧/损坏的图像数据。

  • i.MX RT:如果 DMA 仍处于忙碌状态,则重试摄像头传输;STM32:丢帧时会重置视频缓冲区状态。

破坏性 API 变更

v4.5.4 与 v4.5.5 之间面向用户的 API 破坏性变更。

每项变更都标注了其影响程度:

  • minor——窄范围 API;仅影响使用过它的脚本。

  • behavior——相同的 API,不同的结果;请重新检查已调优的脚本。

变更按上述顺序的影响程度分组。每个提交哈希都链接到 GitHub 上对应的 diff。

morph()ksize 改为位置参数;移除池化 (minor)

morph() 的核大小参数 ksize 现在是位置参数。过时的 Image.pool() 系列池化方法已被移除。

Commits: f9289658908ca21fd1

图像转换参数解析已标准化 (behavior)

图像转换方法(Image.to_*() / to())被迁移到了标准化的 mp_arg_parse_all 参数解析器上。依赖旧的位置/关键字顺序的调用可能需要调整。

Commit: 3fee02ffb

迁移检查清单

要干净地移植到 v4.5.5:将 morph()ksize 作为位置参数传递,移除对已删除池化方法的任何使用(形态学变更),并重新检查图像转换调用中的参数顺序(转换解析变更)。