这是一篇面向初学者的奥比中光 3D 相机入门课程。完成本课后,你将能够确认相机连接状态、安装 Orbbec SDK v2、运行官方示例,并判断深度数据是否正常。
课程目标
- 理解彩色图、深度图和点云之间的关系。
- 完成奥比中光相机与电脑的连接及基础检查。
- 安装或编译 Orbbec SDK v2。
- 运行示例程序并获取深度数据。
一、准备工作
你需要一台受 Orbbec SDK v2 支持的奥比中光相机、一根稳定的数据线,以及 Windows 或 Ubuntu 开发环境。建议将相机直接连接到电脑的 USB 3.x 接口,暂时不要经过扩展坞。
提示:不同型号支持的分辨率、帧率与数据流组合不同。正式开发前,请先查看对应产品文档。
二、认识三类常用数据
1. 彩色图像
彩色图像提供普通 RGB 画面,常用于目标检测、分类和纹理显示。
2. 深度图像
深度图中每个有效像素都表示相机到目标表面的距离。实际使用时应同时注意深度单位、无效值和量程限制。
3. 点云
点云是利用相机内参将深度像素转换为空间坐标后的结果,可用于测量、避障、抓取和三维重建。
三、安装 Orbbec SDK v2
官方 SDK 与示例代码位于 GitHub。以下命令以 Ubuntu 为例:
git clone https://github.com/orbbec/OrbbecSDK_v2.git
cd OrbbecSDK_v2
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4
如果 CMake 提示缺少依赖,请根据终端信息安装对应的开发包,再重新配置。Windows 用户可以使用官方发布包,或通过 Visual Studio 与 CMake 完成编译。
四、连接并检查设备
- 用数据线将相机连接到 USB 3.x 接口。
- 等待系统完成设备识别。
- 运行 SDK 自带的设备枚举或数据流示例。
- 确认程序能够读取设备名称、序列号及传感器列表。
如果程序找不到设备,优先更换接口和数据线,然后检查权限规则、驱动状态以及相机是否被其他程序占用。
五、打开深度数据流
一个典型的深度采集流程包含以下步骤:
- 创建 SDK 上下文并获取设备。
- 查询深度传感器支持的数据流配置。
- 选择设备支持的分辨率、帧率和像素格式。
- 启动数据管线并循环等待帧。
- 读取深度帧宽高、时间戳和像素数据。
- 使用完毕后停止数据管线并释放资源。
初次测试时,不要直接指定未经确认的分辨率或帧率。先使用设备默认配置,稳定出图后再逐项调整。
六、如何判断深度图是否正常
- 画面主体轮廓连续,没有大面积固定黑块。
- 相机或目标移动后,深度变化符合实际距离变化。
- 近距离测试时没有超过产品规定的最小工作距离。
- 反光、透明和纯黑材质附近出现少量无效值属于常见现象。
七、常见问题
设备偶尔断开
优先排查数据线、USB 供电、扩展坞和接口带宽。多相机同时工作时,还要检查每个 USB 控制器的带宽分配。
彩色图正常,但没有深度图
检查是否启用了深度传感器、当前数据流组合是否受支持,以及目标是否处于相机有效工作范围内。
深度图噪声较多
保持相机稳定,避免强烈环境干扰,并根据具体场景调整曝光、滤波和数据流配置。
课后练习
- 记录当前相机的型号、序列号及可用深度数据流配置。
- 连续读取 300 帧,统计是否出现超时或丢帧。
- 选择画面中心像素,打印其深度值并观察距离变化。