v4.2.4

v4.2.4 使用单个 get_state() 命令简化了摄像头握手过程,通过将 JPEG 对焦度量计算移出广播路径来加速实时帧缓冲区显示,并在压缩 pixformat 路径下新增了原始未压缩帧显示。本版本仍基于 Qt Creator 10.0.1,并随附 OpenMV 固件 4.5.9。随附的 April-Tags 示例已针对新的固件 AprilTag API 重写;针对旧 API 编写的用户脚本可能需要更新。

亮点

  • 单个 get_state() 握手 在支持该功能的固件上用一个命令同时清空并查询摄像头的打印缓冲区和帧缓冲区,取代了原先分开的 getTxBuffer/frameSizeDump 轮询。

  • 更快的实时帧缓冲区显示 将开销较大的 JPEG 对焦度量计算移出帧缓冲区广播路径,并放入直方图更新中。

  • 原始未压缩帧(binary、grayscale8 和 RGB565)现在除 JPEG 外,也可在压缩 pixformat 路径下接收并显示。

  • 随附固件 4.5.9,适用于所有受支持的开发板,包括更新后的 UVC 二进制文件。

新功能

  • 帧缓冲区查看器现在除 JPEG 外,还可接收并显示在压缩 pixformat 路径下发送的原始未压缩帧(binary、grayscale8 和 RGB565)。二进制行跨距按 4 字节对齐。(cba5f5dda

其他变更与改进

  • 在支持该功能的固件上,IDE 现在使用单个新的 get_state() 命令来清空并查询摄像头的打印缓冲区和帧缓冲区,而不再使用分开的 getTxBuffer/frameSizeDump 轮询,从而使连接/断开/启动握手更高效。一个版本门控的分支会调用 getState(),并在帧尺寸和 tx-buffer 完成时发出新的 getStateDone() 信号。(ce137a7b60cf969bfd

  • 实时帧缓冲区显示更快了,因为 JPEG 对焦度量计算已从 broadcastUpdate() 移入直方图更新中,现在它在缩小到 160px 宽的 pixmap 上运行。QCustomPlot 重绘现在使用排队重绘。(9dbcd8875

  • 所有随附的 AprilTag 示例(find_apriltagsfind_apriltags_3d_posefind_apriltags_max_resfind_apriltags_w_lens_zoomfind_small_apriltags、pixy I2C/SPI/UART 仿真示例、modbus_apriltagapriltag_tracking 以及 RPC popular_features_as_the_remote_device 示例)均已使用属性访问器更新为新的固件 AprilTag API 并加以简化。随附的 TensorFlow tf_object_detection.py 示例现在通过 sensor.set_windowing((240, 240)) 设置 240x240 的窗口裁剪,而 Bluetooth BLE 温度示例(examples/10-Bluetooth/ble_temperature.py)已被移除。(42a646b63

平台与工具支持

  • Qt Creator 基础版本: 10.0.1。

  • 随附的 OpenMV 固件: 所有受支持的开发板从 4.5.8 更新至 4.5.9,包括 OPENMV2/3/4/4P/PTOPENMV_RT1060 以及 ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE,并更新了 UVC 二进制文件。(42a646b63

  • OpenMV IDE 版本: 从 4.2.1 提升至 4.2.4。

破坏性变更

随附的 April-Tags 示例已针对新的固件 AprilTag API 重写:标签访问器现在是属性(tag.recttag.cxtag.cytag.rotationtag.idtag.name),而非方法调用。随附的 find_apriltags.py 示例现在仅演示 TAG36H11 系列;其多系列选择代码(TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT)和 family_name() 辅助函数已被移除。针对旧的方法调用式 AprilTag API 编写的用户脚本可能需要更新以匹配固件 4.5.9。