01 Hybrid Vision Toolkit
HV Toolkit(ShiMetaPi Hybrid Vision Toolkit)v2.0 是面向事件相机(DVS/EVS)的高性能 C++17 SDK,统一采集事件数据流(EVS)与图像数据流(APS),自带零第三方依赖的 EVT2/EVT3 编解码。v2.0 完成核心重写:USB / MIPI / Ethernet 三后端统一为同一套 Camera API,公有 API 表面不再依赖任何第三方事件 SDK。
git clone https://gitee.com/ShiMetaPi_0/shimetapi_hybrid_vision_toolkit.git # 国内推荐
# 或(海外)git clone https://github.com/ShiMetaPi/shimetapi_hybrid_vision_toolkit.git
cd shimetapi_hybrid_vision_toolkit发布形态
本 SDK 以预编译二进制发布(核心以 .so 闭源交付,仅公开头文件与示例源码),无需编译 SDK 本体——构建只编译示例并链接对应架构的库。
✨ v2.0 特性
- 三后端统一:USB(libusb)/ MIPI(RDK,仅 ARM)/ Ethernet(POSIX TCP)—— 同一套
Camera接口,后端由DeviceConfig.backend选择。 - 双回调 + 同步拉取:
SetFrameCallback/SetEventCallback/SetImageCallback异步回调,GetFrame同步拉取。 - 自洽编解码:EVT2 / EVT3 / MIPI RAW8 的
Encoder/Decoder,零外部 SDK。 - IO 读写:
EventReader/EventWriter/HybridWriter/HybridReader(RAW 读写 + EVS/APS 混合录制回放)。 - MIPI 帧率档:
DeviceConfig.evs_fps运行时选择,Init 时生效,无需重编库。 - Python 绑定:单一
hv_toolkit模块(x86_64 预编译,见 Python 绑定)。
📋 平台支持
| 平台 | 后端 | 预编译库 | 状态 |
|---|---|---|---|
| x86_64 | USB + Ethernet | lib/x86_64 | ✅ 已适配 |
| S100(RDK) | MIPI + Ethernet | lib/s100 | ✅ 已适配 |
| X5(RDK) | MIPI + Ethernet | lib/x5 | ✅ 已适配 |
| RK3588 | MIPI(规划) | — | ⏳ 待适配 |
- 预编译库随仓库分发(aarch64 侧含交叉编 OpenCV,
third_party/aarch64_opencv)。 - 构建产物统一在
out/<arch>/build,三架构互不覆盖;./run.sh --list查看就绪状态。 - S100 与 X5 的差异(SDK 环境变量、sensor_index、APS 格式)见 第一个 C++ 程序。
📋 技术规格
- EVS 分辨率:768×608(子采样:384×304)
- APS 分辨率:768×608
- 数据传输:USB 3.0 / MIPI-CSI / TCP(按后端)
- 事件格式:EVT2 / EVT3(兼容 Prophesee EventCD 语义)
- MIPI 帧率档:120 / 240 / 300 / 500 / 750 / 1000 fps(默认 240,
evs_fps在 Init 时选定)
🔧 依赖
| 依赖 | 用途 | 平台 |
|---|---|---|
| libusb-1.0 | USB 后端运行库 | x86_64 |
| aarch64 工具链¹ | 交叉编译示例 | S100 / X5 |
| OpenCV | 可视化类示例² | 可选 |
¹ g++-aarch64-linux-gnu(Ubuntu 系统包)或 Arm GNU 11.3 工具链。 ² 仅 player / live_record_display 用到;交叉编时用仓库自带 third_party/aarch64_opencv,缺失时自动跳过。
v2.0 不再依赖第三方事件 SDK —— 编解码为独立 clean-room 实现。OpenCV 非核心依赖。
🚀 下一步
- 跑起来:快速上手(5 分钟内构建 + 跑通
get_started) - 看示例:示例程序总览 → C++ 样例(7 个样例的用途与依赖)
- 看 API:C++ API / Python API
- 看原理:第一个 C++ 程序(USB / S100 / X5 / RK3588 四平台最小采集代码)
📁 项目结构
shimetapi_Hybrid_vision_toolkit_release/
├── run.sh # 一站式入口(build/install/samples/pydeploy/--list)
├── API.md / API_EN.md # 公有 API 参考(中/英)
├── include/shimetapi/ # 公有头文件
│ ├── core/ # EventCD / Status / BufferPool / Frame / PixelFormat / Timestamp
│ ├── hv/ # Camera / DeviceConfig / EventFormat / EventPacket / ImageData
│ ├── codec/ # EVT2 / EVT3 / MIPI RAW8 编解码
│ └── io/ # EventReader / EventWriter / HybridWriter / HybridReader
├── lib/ # 预编译库(闭源二进制)
│ ├── x86_64/ # x86_64:USB + Ethernet(含 python/ 绑定模块)
│ ├── s100/ # S100 aarch64:MIPI + Ethernet
│ └── x5/ # X5 aarch64:MIPI + Ethernet
├── toolchains/ # 交叉工具链文件(aarch64-linux-gnu)
├── third_party/ # aarch64 OpenCV(交叉编 OpenCV 类示例用)
├── samples/ # 示例
│ ├── cpp/ # C++ 示例(7 个)
│ └── python/ # Python 示例
└── docs/ # 板端验证步骤与冒烟记录📄 许可证
版权所有 © ShiMetaPi。本仓库以预编译二进制形式分发 HV Toolkit 运行库;头文件与示例代码供集成开发使用。EVT2/EVT3 编解码为基于公开规范的独立实现(clean-room),不含第三方闭源源码。
🙋 联系我们
开源硬件网站:https://www.shimetapi.cn (国内) / https://www.shimetapi.com (海外) 在线技术文档:https://forum.shimetapi.cn/wiki/zh/ 在线技术社区:https://forum.shimetapi.cn
HV Toolkit - 让事件相机开发更简单 🚀
