v2.5.0

v2.5.0 将模型编辑器(Model Editor)重做为功能完整的机器视觉数据集编辑器(Dataset Editor),将固件烧写切换到跨平台的 dfu-util 工具,并新增了对 Arduino 品牌 OpenMV 摄像头的支持。本版本仍基于 Qt Creator 4.0.2,对现有项目没有任何破坏性变更。

亮点

  • 数据集编辑器取代了旧的模型编辑器,让你可以直接从摄像头构建机器视觉图像数据集,配备命名的类别文件夹和实时预览窗格。

  • 导出数据集会将数据集导出为兼容 Edge Impulse 的 .zip 文件。

  • dfu-util 固件烧写取代了仅限 Windows 的 DfuSeCommand.exe / pydfu.py 流程,免去了在 macOS 和 Linux 上手动安装 libusb/pyusb 的需要。

  • Arduino Portenta H7 支持可识别 Arduino 品牌的 OpenMV 摄像头,用于串行检测、引导加载程序连接和 DFU 固件下载。

  • 固件/软件包更新的下载进度现在是真实且可取消的,并区分了下载和安装两个阶段。

新功能

  • 数据集编辑器。模型编辑器被重做为功能完整的数据集编辑器,用于构建机器视觉图像数据集。Dataset Editor 菜单新增了 New DatasetOpen DatasetClose Dataset 操作;新数据集会预置一个 dataset_capture_script.py 模板,并在添加类别文件夹时生成 labels.txt 并保持同步。图像在摄像头上拍摄后存入命名的类别文件夹中,显示在一个由 QFileSystemModel 支持的树状视图里,支持双击打开以及右键菜单的删除/重命名,旁边还有一个实时图像预览窗格(aa010118996cbcd97af1a39272b28cc1bfbd)。

  • 导出数据集。一个新操作会将数据集导出为 .zip 文件,将图像扁平化为兼容 Edge Impulse 的 <class>.<snapshot> 类别命名文件,并通过可取消的进度对话框显示。类别文件夹从带编号的(NNNNN.name.class)改为纯粹的 name.classf1e6b6a0d0297d4b9eaa69ab62c)。

  • dfu-util 固件烧写。固件烧写被重写为使用跨平台的 dfu-util 工具,取代了旧的 Windows DfuSeCommand.exe / pydfu.py 流程。connectClicked() 现在会调用 downloadFirmware(),旧的“PyDFU 需要 libusb”说明对话框也已移除,免去了在 macOS 和 Linux 上手动安装 libusb/pyusb 的需要(2bf0b71c75396b7072d64cb05b1)。

  • 桌面和 Linux 启动器图标。在 Windows 上,安装程序现在除了开始菜单项外还会创建桌面快捷方式,Linux 版本现在也会通过 bin.pro 安装应用程序图标(openmv.png)。.desktop 中的 Icon 引用曾被添加但后来又被移除,因此 Linux 启动器发布时不带 Icon= 条目(327fc2f69ccca0859fb1e2b0469)。

  • 单像素检查。帧缓冲区查看器和串行终端现在会在分辨率标签中显示 Point (x, y),并在你点击单个点时绘制选择带,而不再只报告多像素 ROI(86839b4c0)。

  • 新增示例脚本。捆绑了一大批新示例,包括通过 UART/USB 进行的远程图像传输(原始和 JPEG,控制端和远程端角色)、“热门功能”遥控演示、100 fps IR-LED 读出跟踪、一个 RTSP 视频服务器、使用自定义调色板的高级图像绘制、ulab numpy 风格数学运算,以及透视/旋转校正(c0a6ff6c80cc0a7761d77667c20)。

其他变更与改进

  • 更新下载进度。固件/软件包更新下载现在会显示真实的下载进度并可取消,将下载和安装阶段分开,而不再是单一的不确定“安装中”进度条(c36d151f3f1a39272b)。

  • 帧缓冲区重新居中。帧缓冲区查看器现在会在更新和调整大小时将图像在视图中重新居中(327fc2f69)。

  • HTTPS 链接。外部帮助和代码生成器链接以及更新下载 URL 已从 http 切换为 https(Google 生成器、OpenMV 论坛、openmv.io 下载以及 GPL 许可证链接)(a0a104e63)。

  • 捆绑示例更新。移除了旧的 CMSIS CNN 示例 09-Feature-Detection/cnn.py,将 02-Board-Control/dac_control.py 示例重命名为 dac_write.py,并新增了一个 02-Board-Control/dac_write_timed.py 示例;还添加了捆绑的 mobilenet_labels.txt 标签文件(330548305)。

  • 更新捆绑固件。在多次资源更新提交中重新构建并更新了 OPENMV2、OPENMV3、OPENMV4 和 OPENMV4P 开发板的捆绑固件镜像(openmv/uvc/bootloader)。捆绑固件版本(firmware.txt)在这些更新中依次为 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4,最终发布 3.6.4,并且 HM01B00xB0)传感器被添加到了已识别传感器列表(sensors.txt)中(0cc0a7761c0a6ff6c8a6df35010330548305)。

  • 更新 dfu-util 二进制文件。更新了 arm、linux32、linux64、osx 和 windows 平台捆绑的 dfu-util prefix/suffix/util 二进制文件(dd8733632)。

错误修复

  • 修复了在 Windows 上进行固件 DFU 下载和视频工具(ffmpeg/ffplay)操作时屏幕上短暂闪烁的命令提示符/控制台窗口问题(092fbad74)。

  • 修复了 ARM Linux 主机(例如 Raspberry Pi)上的默认编辑器字体,改用 DejaVu Sans Mono 而非缺失/不合适的 Monospace 字体族(53a864787)。

平台与工具支持

  • Qt Creator 基础版本: 4.0.2。

  • 现在支持 Arduino Portenta H7 / Arduino 品牌的 OpenMV 摄像头:Arduino USB VID 0x2341(PID 0x005B 经掩码)在各个串行端口扫描位置都会被识别,用于串行检测和引导加载程序连接(7f3e2b3893687643c6)。

  • DFU 固件下载现在除了 STM 0483:df11 引导加载程序外还会以 Arduino DFU 设备(2341:035b)为目标,从而可以通过 dfu-util 烧写 Arduino 开发板固件(2d47c6dac)。

  • 新增传感器: HM01B00xB0)传感器已被添加到已识别传感器列表(sensors.txt)中(a6df35010)。

  • 捆绑工具: 现在为 arm、linux32、linux64、osx 和 windows 平台提供 dfu-util 烧写工具。

  • 捆绑固件: 重新构建了 OPENMV2、OPENMV3、OPENMV4 和 OPENMV4P 的 openmv/uvc/bootloader 镜像,并将捆绑固件版本更新为 3.6.4(依次为 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4)(a6df35010c0a6ff6c80cc0a7761)。

破坏性变更

无。现有项目和脚本可继续正常工作,无需改动;固件烧写的重写对用户是透明的。