v1.0.0

v1.0.0 是 OpenMV IDE 的首个公开发布版本,它是为在 OpenMV Cam 上开发而定制的 Qt Creator 构建版本(Qt Creator 4.0.2)。它增加了 USB 串口发现与连接、摄像头上脚本执行、实时帧缓冲区和直方图,以及 Python 回溯信息导航。由于这是初始发布版本,因此没有破坏性变更。

亮点

  • 带 OpenMV 品牌标识的 Qt Creator,拥有自己的启动画面、一个 Examples 菜单,以及一个 Python 编辑器,它会打开新的无标题 .py 文件,并预先填入适用于 OpenMV Cam 的传感器快照模板。

  • 连接(Connect) 会枚举与 OpenMV Cam VID/PID 匹配的串口,并读回板载固件版本,显示在状态栏中。

  • 在摄像头上运行(Run on cam),配有 Connect/Disconnect/Start/Stop 工具栏控件:StartCtrl+R)将当前脚本发送到摄像头,Stop 则停止它。

  • 实时帧缓冲区(Live Frame Buffer) 查看器,支持缩放以适应窗口、可选的 JPEG 压缩、用于获得最高性能的禁用开关,以及实时 FPS 读数。

  • 实时直方图(Live Histogram) 面板,可在 RGB、灰度、LAB 和 YUV 颜色空间之间切换(推荐使用灰度/LAB 进行颜色跟踪)。

  • 回溯信息导航(Traceback navigation) 会解析来自摄像头的 Python 错误,并将编辑器跳转到出错的文件和行。

新特性

  • OpenMV IDE 外壳。 应用程序以 OpenMV IDE 显示名称和 OpenMV 启动画面启动,通过扫描捆绑的示例目录构建出一个 Examples 子菜单,并重写了 New 操作,使无标题 .py 文件打开时预先填入 import sensor 快照模板并采用通用 Python 语法高亮。

  • 连接 / 固件版本。 Connect 会枚举可用串口,并按 OpenMV Cam USB VID/PID(0x1209/0xABD1)进行过滤,当匹配到多个端口时弹出端口选择对话框,打开端口,读取板载固件版本,并将其显示在状态栏中。

  • 脚本执行控件。 ConnectDisconnectStartStop 操作用于驱动摄像头。StartCtrl+R)将当前编辑器的脚本发送到摄像头执行,Stop 停止正在运行的脚本,IDE 会跟踪运行状态以启用或禁用 Stop 按钮。

  • 帧缓冲区查看器。 Frame Buffer 面板会渲染从摄像头流式传输过来的帧,支持缩放以适应窗口、用于提高帧率的可选 JPEG 压缩开关、用于获得最高性能的禁用开关,以及实时 FPS 标签。

  • 保存图像和模板。 帧缓冲区上的右键上下文操作可将图像保存到磁盘(BMP/JPG/PNG/PPM)、保存模板图像(BMP/JPG/PGM/PPM),或将关键点/特征描述符(.lbp/.ff)直接保存到摄像头的驱动器上。当在帧上拖动出一个橡皮筋选区时,这三个操作都会作用于裁剪后的选区,其菜单标签也会相应改变(例如 Save Image selection to PC);否则它们使用完整显示的帧。

  • 直方图面板。 Histogram 面板会绘制当前帧的通道分布,并可在 RGB、灰度、LAB 和 YUV 颜色空间之间切换。

  • 回溯信息导航。 摄像头打印的 Python 回溯信息会被实时解析;IDE 会打开或聚焦到出错的文件(必要时解析摄像头驱动器上的文件),跳转到报告的行,并弹出错误消息。串口输出也会被转发到 Message Manager 终端。

  • 摄像头驱动器关联。 IDE 通过 Drive: 状态栏按钮将一个可移动的 FAT/msdos 驱动器与已连接的摄像头关联起来,从而启用摄像头上的文件保存目标和回溯文件解析。

  • Help 菜单与持久化状态。 Help 菜单新增了 OpenMV Docs、Forums、一个 About OpenMV Cam 引脚图链接,以及一个 About OpenMV IDE 对话框。窗口状态(包括分隔条位置、缩放、JPG 压缩、禁用帧缓冲区开关、直方图颜色空间,以及上次使用的串口)会在多个会话之间持久保存。

其他变更与改进

  • 在 Linux 上,连接时出现权限被拒绝(permission-denied)的失败会提示使用 sudo usermod -a -G dialout 进行 dialout 组修复的对话框。

平台与工具支持

  • Qt Creator 基础版本: 4.0.2。

  • 该插件通过自定义 USB 调试串口协议与摄像头通信。IO 层中存在若干协议级能力,但在本版本的 UI 中尚未呈现出来:闪存引导加载程序(启动、复位、擦除、写入)、摄像头属性控件(对比度、亮度、饱和度、增益上限)、系统复位命令,以及帧更新通道。这些功能目前都尚未连接到任何菜单、按钮或控件供用户使用。

破坏性变更

无。这是 OpenMV IDE 的初始发布版本。