文档资料汇总
1. 官方文档
在线文档(推荐):
- RDK X5 多媒体开发指南:D-Robotics RDK套件 | RDK DOC
- 路径:
RDK X5→多媒体开发→摄像头应用开发 - 包含:VIO初始化、帧获取、ISP配置等完整API说明
- 路径:
开发板本地文档:
# 文档通常在以下位置
/opt/horizon/doc/
/usr/share/doc/horizon/
2. 示例代码路径
开发板上的官方示例:
# VIO 取图示例
/opt/horizon/vio_sample/
/opt/horizon/media_sample/
# 编译后的可执行文件
/usr/bin/vio_demo
/usr/bin/media_demo
查看示例代码:
# 进入示例目录
cd /opt/horizon/vio_sample
# 查看源码
ls -la
cat main.cpp
# 编译示例
mkdir build && cd build
cmake ..
make
3. 关键头文件位置
# VIO API 头文件
/usr/include/horizon/vio/hb_vio_interface.h
/usr/include/horizon/vio/hb_vio_common.h
# 媒体 API 头文件
/usr/include/horizon/media/hb_media_interface.h
# ISP 配置头文件
/usr/include/horizon/isp/hb_isp_interface.h
4. 社区相关帖子
5. 最小可用代码模板
取图 + 推流 简化版:
// file: simple_capture_stream.cpp
#include "hb_vio_interface.h"
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 1. 初始化 VIO
HB_VIO_Init();
// 2. 配置通道(双目需要配置两个通道)
HB_VIO_CHANNEL_ATTR_S stAttr;
stAttr.enPixelFormat = HB_VIO_PIXEL_FORMAT_NV12;
stAttr.u32Width = 1280;
stAttr.u32Height = 720;
HB_VIO_SetChannelAttr(0, &stAttr);
// 3. 获取帧
HB_VIO_FRAME_S stFrame;
HB_VIO_GetFrame(0, &stFrame, -1);
// 4. 处理图像数据
// stFrame.viVFrame[0] 包含图像数据
// 5. 释放帧
HB_VIO_ReleaseFrame(0, &stFrame);
return 0;
}
编译命令:
g++ simple_capture_stream.cpp -o demo \
-I/usr/include/horizon/vio \
-L/usr/lib -lhbio_vio \
-lopencv_core -lopencv_imgproc
6. 快速验证步骤
# 1. 确认开发板上有示例
ls /opt/horizon/vio_sample/
# 2. 运行官方示例
/opt/horizon/vio_sample/vio_demo
# 3. 查看资源占用
top -p $(pgrep vio_demo)
# 4. 对比 ROS 节点资源占用
top -p $(pgrep -f ros2)
需要进一步帮助?
如果上述路径在你的开发板上不存在,请告诉我:
- 你的RDK X5系统版本(
cat /etc/horizon_version) - 是否安装了完整的SDK(
dpkg -l | grep horizon)
我可以帮你找对应版本的文档和示例。