v1.8.0

v1.8.0 是一个以网络和视频为核心的重大功能版本:它增加了通过 WiFi 对 OpenMV Cam 进行编程的功能、帧缓冲区视频录制器,以及一个由内置 ffmpeg/ffplay 支持的 Tools > Video Tools 菜单。它还增加了对新款 OpenMV Cam H7(OMV4)开发板的支持,并将 IDE 扩展到了 Raspberry Pi(Linux ARM)。本版本仍基于 Qt Creator 4.0.2,对现有项目没有任何破坏性变更。

亮点

  • WiFi 编程。 IDE 现在会监听来自配有 WiFi 扩展板的 OpenMV Cam 的 UDP 广播通告,在连接对话框中列出已发现的摄像头(名称加 IP:port),并通过 TCP 与它们通信,作为串口连接的一种替代方式(69dc7dfbf)。

  • 帧缓冲区视频录制器。 新增的录制/停止工具栏按钮会将实时图像流捕获到 OpenMV ImageWriter 文件中,同时显示一个包含已用时间/大小/FPS 的状态标签(39142ef705aceab31a)。

  • Video Tools 菜单。 Tools > Video Tools 新增了 Convert Video FilePlay Video File,它们使用内置的 ffmpeg/ffplay 来转码和播放视频,并会先透明地将 ImageWriter .bin 录制文件转换为 MJPEG AVI;由于 Linux/Raspberry Pi 未内置 ffplay,Play Video File 仅在 Windows 和 macOS 上可用(d35f8d1ca8a99c994f)。

  • OpenMV Cam H7(OMV4)。 新款 STM32H743 开发板现已得到识别,并随附其专属的内置引导加载程序和固件(e14810382)。

  • Raspberry Pi 支持。 现已启用 Linux ARM IDE 构建,将 OpenMV IDE 带到了 Raspberry Pi 上(f551b5f97)。

新功能

  • 配置 OpenMV Cam 设置文件。 Tools 新增了一个对话框,用于写入摄像头的 main.ini 启动/WiFi 设置,包括启用 WiFi、选择客户端模式还是接入点模式、SSID/密码/安全类型、开发板名称,以及一个存储在 main.ini 启动设置下的 Duplicate REPL on the UART on startup(启动时在 UART 上复制 REPL)选项(69dc7dfbf39142ef70)。

  • 联网终端命令行选项。 在现有的串口终端选项之外,新增了 -open_udp_client_terminal-open_udp_server_terminal-open_tcp_client_terminal-open_tcp_server_terminal6362066a8d75209269)。

  • 其他命令行选项。 公开了 -update_resources-open_serial_terminalport_name:baud_rate)、-override_read_timeout-override_read_stall_timeout061aacf15)。

  • 终端服务器模式。 UDP/TCP 终端连接现在可以运行在服务器模式下,绑定到本地端口(端口 0 表示任意端口),而不再只能向某个主机发起对外连接(956e8a2f5)。

  • 新增示例脚本。 新增了镜头校正、3D 旋转校正和传感器睡眠低功耗示例,并将线段检测示例重写为采用新的 find_line_segments(merge_distance, max_theta_diff) API(061aacf15)。

其他变更与改进

  • 函数参数提示和语法高亮现在可以正确地跨多行显示,因此多行函数调用能够保留其参数提示和高亮(6535e9fdd4638bdd18)。

  • 终端的分辨率/ROI 状态栏现在还会报告 ROI 像素数量(956e8a2f5)。

  • OpenMV Cam 注册对话框现在会显示开发板/ID 和一个支持邮箱地址,并且 Connecting... 进度对话框会建议在 5 秒后点击取消(4638bdd18e14810382)。

  • 搜索结果面板现在使用明确的暗色主题颜色重新设置了其行号边栏和结果文本的样式,使它们在暗色界面下清晰可读(b2599f9ea)。

  • 串口/UDP/TCP 终端写入循环现在会在两次写入之间短暂让出,以保持界面响应并提升吞吐量(c4700e2b0)。

  • 直方图统计数值字段现在会预留一个固定的最小宽度,使面板不再随数字变化而重新排布;同时模式切换抽屉按钮改为拉伸显示,而不再使用固定的 160px 宽度(5aceab31a)。

  • 通过自定义的 Qt 消息处理器抑制了启动时出现的虚假 JIT is disabled for QML 警告(954220e39)。

Bug 修复

  • 文档工具提示和高亮现在能够识别 Python 异常类型(视为数据处理),并修复了若干模块/索引文档条目,使它们正确显示(4638bdd183613a7867897b9b0e2e3e41c56e)。

  • 通过使用锚定、修剪过的正则表达式以及更严格的 HTML 响应匹配,加固了软件包更新检查器和摄像头广播/注册解析逻辑,以避免误匹配(461af11484638bdd18)。

  • 将用于旧固件 API 检测的 OpenMV Cam M4(OpenMV2)开发板标识符从 OMV2 更正为 OPENMV2449024fe8)。

  • 通过更严格的宽度/高度/bpp/时长边界检查,加固了摄像头 I/O 和视频转码器,使其能够抵御损坏/超大的帧数据,并避免了在计算视频 FPS 时出现除零错误(08248f208d0cbc27e5)。

  • 视频转换/播放工具现在可在 macOS、32 位系统和 Linux-ARM 上工作,方式是通过生成的 shell 脚本或 cmd.exe 包装器来启动 ffmpeg/ffplay,并捆绑了 Linux 版 ffmpeg 二进制文件(b9644e8599f0520bbe35eb69bcec4700e2b0)。

平台与工具支持

  • Qt Creator 基础版本: 4.0.2。

  • OpenMV Cam H7(OMV4,STM32H743): 新开发板得到识别,并随附其专属的内置引导加载程序和固件(e14810382)。

  • 内置 OpenMV 固件: 为 OPENMV2/OPENMV3/OPENMV4 升级到 2.6.0(e14810382)。

  • 内置 ffmpeg/ffplay: 为 Windows、macOS、Linux x86、Linux x86_64 和 Linux ARM(Raspberry Pi)新增了静态 3.3.3 ffmpeg 构建;ffplay 仅为 Windows 和 macOS 内置(2193d7923af92ad59e)。

  • Raspberry Pi(Linux ARM): 通过禁用离线帮助 HelpManager 并将发行包打包方式切换为 tar.gz,启用了相关构建(f551b5f97)。

破坏性变更

无。本版本仍基于 Qt Creator 4.0.2,现有项目和工作流程不受影响。