v1.6.0

v1.6.0 的核心是 OpenMV Cam 注册和更丰富的机器视觉工作流:IDE 现在会在连接时检测未注册的摄像头,新增了与代码编辑器集成的阈值编辑器,添加了可折叠面板,并将随附固件从 2.3.0 升级到 2.4.1(并在此过程中加入了线条检测)。它继续沿用 Qt Creator 4.0.2,未做变基。本版本有一处面向用户的破坏性变更:连接未注册的摄像头现在会在每次连接时提示输入主板密钥(参见破坏性变更)。

亮点

  • OpenMV Cam 注册 现在会在连接时被检测到:IDE 会查询主板架构,将主板/ID 与 openmv.io 进行核对,并提示用户使用主板密钥注册摄像头。

  • 随附固件 2.4.1 适用于 OMV2(M4)和 OMV3(M7)摄像头,在 2.4.0 中新增了线条检测(通过霍夫变换实现的 find_lines / find_line_segments)以及新的 image.match_descriptor 结果对象;固件 2.4.1 随后对二值运算 API 进行了重命名。

  • 阈值编辑器集成:在编辑器中右键单击选中的灰度或 LAB 阈值元组,将打开预加载了这些数值的阈值编辑器,并在关闭时将调整后的元组写回源代码。

  • 可折叠面板:帧缓冲区和串口终端面板新增了抽屉按钮,可隐藏并重新显示面板,并从设置中恢复其状态。

  • 实时帧缓冲区标题栏 现在会显示当前分辨率和选定的 ROI,被禁用的帧缓冲区会在原位置显示一个叠加层。

新功能

  • OpenMV Cam 注册 会在连接时被检测到。IDE 会查询主板架构,并将主板/ID 与 openmv.ioopenmv-swd-ids-check.php / openmv-swd-ids-register.php)进行核对,提示用户使用主板密钥注册摄像头。其中包含一个带有可用购买超链接、进度显示和错误处理的注册对话框(c61052eb39fa8a253e)。

  • 从编辑器使用阈值编辑器:右键单击选中的灰度 (g_min, g_max) 或 LAB 六元组阈值,会提供 Edit ... threshold with Threshold Editor 操作,该操作会打开预加载了这些数值的编辑器,并在关闭时更新源代码中的元组(3d12e6ee7992d3bdf8)。

  • 可折叠面板:帧缓冲区和串口终端面板新增了上/下/左/右抽屉按钮,可隐藏并重新显示面板,并从设置中恢复其状态(abaf628ff7461e3b55b51faa8f5)。

  • 帧缓冲区标题栏中的 实时分辨率和 ROI,例如 Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..)992d3bdf8)。

  • Machine Vision Tools 菜单中新增了 DataMatrix GeneratorBarcode Generator 条目,每个条目都会打开一个针对在线生成器的 Google 网页搜索(bf284997b)。

其他变更与改进

  • 当帧缓冲区被禁用时,现在会在原位置显示一个居中的 Frame Buffer Disabled - click the disable button again to enable (top right) 叠加层(bf284997b)。

  • 阈值编辑器 现在会在会话之间持久化并恢复其滑块状态(组合/反转/最小-最大值),而不仅仅是窗口几何布局(bf284997b)。

  • 重新设计了 Python 语法高亮,以便在编辑器和终端中更好地为 OpenMV 的类/函数/方法/参数名称和 import 关键字着色(38c00e5a27461e3b55)。

  • 粘贴到串口终端 现在以每次一个字符的方式发送剪贴板字节,并在发出的串口/UDP/TCP 数据包之间插入 1ms 间隔,从而避免溢出 MicroPython REPL,并且在按下回车时分别发出 CR 和 LF(c61052eb3)。

  • 成员自动补全 现在会在右括号(如 )]})之后键入 . 时触发,因此在函数调用和下标之后会出现补全(9fa8a253e)。

错误修复

  • 修复了 OpenMV Cam SWD-ID 注册对话框,使取消和请求完成能够可靠地关闭对话框,而不再依赖指针强制转换的结果代码(6599856c4)。

  • 修复了已注册主板的固件匹配问题,在固件映射表中查找之前,会先从架构字符串中剥离 [board:id] 注册令牌(a1be146f1)。

  • 修复了一处注册回归问题,该问题由反转的取消检查和未转义的 board-id 正则表达式导致成功/错误处理从未运行,并且跳过了对基于 M4 的摄像头的注册检查(9fa8a253e)。

  • 禁用了上游 Qt Creator 的左侧导航边栏接线,以修复 OpenMV 布局中的导航小部件(bf284997b)。

平台与工具支持

  • Qt Creator 基础版本: 4.0.2。

  • 随附的 OpenMV 固件: 在两个步骤中为 OMV2(M4)和 OMV3(M7)摄像头将版本从 2.3.0 推进至 2.4.1。2.3.0 -> 2.4.0 这一步新增了线条检测(通过霍夫变换实现的 find_lines / find_line_segments)、新的 image.match_descriptor / kptmatch 结果对象、DataMatrix 解码示例(find_datamatrices.py / find_datamatrices_w_lens_zoom.py)、find_lines.py / find_line_segments.py 示例以及一个 sensor.set_vsync_output() 方法(f0cd4d75c)。2.4.0 -> 2.4.1 这一步新增了 b_and / b_or 逻辑 AND/OR 图像运算,并将 nand / nor / xor / xnor 重命名为 b_nand / b_nor / b_xor / b_xnor(旧名称作为别名保留)(4fc16559e)。

  • Windows 驱动程序: 重新设计了 DfuSe / FTDI / OpenMV / PybCDC 驱动安装命令脚本,并打包了此前缺失的 DfuSe 和 FTDI/OpenMV/PybCDC 驱动二进制文件、DLL 以及安装所需的 VC 可再发行组件(b51faa8f5c2633fc044fc16559e)。

破坏性变更

连接一个被 openmv.io 报告为未注册的 OpenMV Cam 现在会触发最多三次提示,要求用户输入主板密钥,并在每次连接时重复,直到摄像头被注册为止。基于 M4 的主板免于此项检查。2.4.1 固件对二值图像运算的重命名是向后兼容的,因为旧的 nand / nor / xor / xnor 方法名称仍作为别名保留。