v5.0.0#
v5.0.0 是一个重大版本。它引入了 OpenMV Viewer — 一个独立的只读构建,用于展示成品 — 一个全新的 OpenMV Cam Settings Editor、面向 v5.0.0 相机的 v2 相机调试协议,以及大量编辑器、终端、固件和机器视觉工作流的改进。它基于 Qt Creator 14.0.2 构建。
版本号跃升至 5.0.0,标志着 v5.0.0 相机世代及其配套工具的到来;现有的 v4 项目和工作流将继续照常运行,不受影响。
亮点#
OpenMV Viewer — 一个全新的、单独安装的构建变体,它将 IDE 作为一个锁定的只读遥测查看器运行。它显示相机的帧缓冲区、串行终端和直方图,并可运行固定的脚本,但隐藏了创作、AI/模型和设置工具,因此客户无需完整的开发环境即可演示基于 OpenMV 构建的产品。
OpenMV Cam Settings Editor — 相机板载设置配置文件的图形化编辑器,让你可以通过表单查看和更改开发板设置,而无需手动编辑文件。
v2 相机调试协议 — v5.0.0 相机使用一种全新的、更健壮的调试协议,具备头部 CRC 校验、序列间隙恢复,以及分离式帧率显示,可分别报告相机端的 FPS 和 IDE 显示的 FPS。
从 .zip 加载自定义固件 — 固件安装程序现在可直接接受开发板的构建输出
.zip包,从而轻松刷写自定义或本地构建的固件镜像。串行终端协议调试日志 — 串行终端中的一个开关会以可读的、带 emoji 标记的行记录相机调试协议,用于诊断连接问题。
重新设计的帮助菜单和编辑器内文档 — 一个 OpenMV Docs 子菜单取代了旧的扁平链接,
F1会打开光标所在 Python 符号的文档,将鼠标悬停在 API 名称上会内联显示其文档,关于对话框也进行了现代化改造。
新功能#
OpenMV Viewer 构建变体。 一个强制查看器模式的构建,以 OpenMV Viewer 品牌命名和安装,拥有自己的可执行文件 id、设置存储和包 id,因此可与完整 IDE 共存。它呈现为一个只读遥测查看器:运行/停止和连接时停止功能可用,并可从磁盘运行脚本(通过
-auto_run),文件/编辑菜单和首选项保留,固件/ROMFS 恢复也保留,而创作工具、开发者机器视觉工具、开发者设置类别以及 AI/模型/文档资源则从构建和 UI 中移除。ROMFS 变为仅加载,并被提升至工具菜单,固件更新完成对话框也进行了通用化处理 (07722e78a8b, 5cd12ee260e, b97bf5447e4, 952b86de391, 1103f7988ed, f0f60261485, c743d5d67b9, b4bcdc2d71a, a37c032b6ff, 480e5668d29, 11c064cac93).OpenMV Cam Settings Editor — 相机设置配置文件的 GUI 编辑器,从工具菜单打开(issue #205) (f55a0d7fa58, 2d7f80b03cf).
面向 v5.0.0 相机的 v2 相机调试协议,在信任任何头部字段之前先进行头部 CRC 校验,采用序列间隙恢复机制,可在丢包时向前推进而不是停滞,并将帧率读数分为相机端速率和 IDE 显示速率 (c377bdbaea8, a3f0488ddcb, 29108dd40f7, c15e6c02789).
加载自定义固件支持 .zip 包 — 选择开发板的构建输出 zip,IDE 便会刷写其中包含的固件(和 ROMFS) (55e4eb2d900).
串行终端调试日志 — 一个按钮可切换相机协议的分级调试日志,每一行都带 emoji 标记并以 emoji 字体渲染以提高可读性 (09990c62810, 42e23c3c11e, 997705548c7, d2208de77d4).
复制/转换当前脚本 — 一个工具菜单操作,用于复制或转换当前脚本,并会防止保存已编译的
main.py/boot.py(81a954f33cd).F1 文档帮助,针对光标所在的 Python 符号,与悬停提示框共用符号解析器 (c341330bc16).
编辑器内文档提示 — 将鼠标悬停在某个 OpenMV API 名称上会内联显示其文档,文档来自随附的
.pyi桩文件以及模块自身的文档,因此你无需离开脚本便可了解某个函数、方法、常量或模块的作用 (7ebde92d2a6, f225824ba13, 59ad01a364a, 02c1e61a2a6).为相机命名 — 你可以为已连接的相机设置一个 IDE 本地别名,显示时会取代串行端口名称,从而区分完全相同的相机 (c600158ca34).
键盘快捷键页面 — 首选项中的快捷键页面现在会显示,并筛选为你实际可以访问的操作,来源和布局也更加清晰 (4f5eae52e8e, 2d472fe5b40).
编辑器、终端和 UI 改进#
帮助菜单重新组织 为一个 OpenMV Docs 子菜单(去掉了旧的扁平引脚图链接),并在正式发布版本路径中添加了发行说明链接 (e1337ff67c4, 9eacc0994e6).
关于对话框现代化 — 自动更新版权年份、合作伙伴徽标表格,以及单行发行说明链接 (d89fb74138d).
帧缓冲区面板 现在会在固定的 JPG 按钮旁显示分辨率读数和帧缓冲区模式标签;模式标签显示为灰色,因此看起来不可点击 (cb735f82337, 376b17d4e77, 39c6ffc3b26).
直方图窗格 的图形经过样条平滑处理,窗格可以压缩(省略标签并压缩可压缩的图形),通道标签位于统计数据旁边 (327324ef7e9, 9f8c7035483, d204e93d5e4).
联动的面板分隔条 — 按住 Ctrl/Cmd 拖动分隔条会同时移动编辑器/终端和帧缓冲区/直方图的分隔条,迷你分隔条手柄在悬停时会显示光晕并具有更宽的抓取区域 (379dee250d6, 96b83984342).
串行终端 — 自动滚动不再在每个输出块时重新锁定,因此在快速输出期间向上滚动会保持不动;当没有编辑器时,终端可以从磁盘运行文件 (af67a076e95, bc132aef536).
文档命令 现在按页面命名,而不是按索引命名 (a3201e9a4b4).
高 DPI / 分数缩放 — 图标、叠加层和启动画面在分数缩放比例(125%、150% 等)下都能正确渲染,并且在多显示器环境下,主窗口会在重启后记住其几何位置和所在屏幕 (c60711e4950, 60901b6e13f, f241d2ea8ce, 54a1bc31fbd).
固件、开发板和工具#
开发板可以固定其最后发布的固件版本,因此不再收到更新固件的开发板不会被标记为过期 (bd987d32f42).
过期固件 的状态文本现在显示为红色以突出显示 (9b18d96bac5).
引导加载程序恢复提示 — 现在
bootloader.bin不匹配时会提示进入引导加载程序恢复模式 (d46b998c76e).视频播放 更加健壮:当工具无法启动 FFmpeg 时会显示其路径,当某种架构不支持播放时消息更加清晰,输入格式通过
ffmpeg -demuxers查询,并添加了 Linux 终端回退方案 (0cc0e74a438, a75ec4898d0, 28e1ef10326, 51651780723).数据集采集脚本 已更新为使用
csi模块 (41a781651e4).Windows 安装程序 向导外观得到改进 (250599d9d9e).
错误修复#
开发固件安装 对于
.lst开发板(AE3),现在会将列表所引用的二进制文件暂存到 flash 目录中,并且开发/自定义安装会暂存包内的 ROMFS 镜像,同时先清除任何过期的romfs*.img,因此刷写的是下载的 ROMFS,而不是残留的编辑器转储 (3cf56e98668, 43bedc8c591).libjpeg 警告(针对被截断/损坏的帧)会从日志中过滤掉,因此有损流不会刷屏终端 (6e2a8bed6cf, a5166abbdc1).
示例列表不再显示内部的
index.json(14ac8ca48a7).在查看器模式下,固件升级和引导入门弹窗会被抑制,因此产品演示永远不会提示覆盖客户的固件 (7b8528c3ad6).
从被移除菜单中残留的悬空和仅供创作使用的键盘快捷键已被禁用 (be3bee8bb58, 27d1afc8705).
本地化#
四种新语言 — 印度尼西亚语、罗马尼亚语、泰语和越南语 — 使 IDE 的翻译语言达到 37 种,并且所有语言的每个语言目录都进行了更新、翻译和清理 (fcf04090843, c830e6c4de3, 5e22679923f).
命令行#
GNU 风格的 ``--word`` 选项别名 现在可以与单短横线形式一起使用,
-help输出中也注明了二者的等价关系 (66414213dd9, 768c5d0e159).
平台和工具支持#
Qt Creator 基础版本: 14.0.2。
OpenMV IDE 版本升级至 5.0.0。
新增: 单独安装的 OpenMV Viewer 构建变体。
Python 3.14 支持 — 随附的
parso解析器已更新至 0.8.7,使代码补全和语言服务器能够继续兼容最新的 Python 语法 (578a4e39d97).
重大变更#
对于现有项目无重大变更。v2 调试协议适用于 v5.0.0 相机;v4 世代相机继续使用现有协议,现有脚本和工作流不受影响。