这是一篇面向初学者的奥比中光 3D 相机入门课程。完成本课后,你将能够确认相机连接状态、安装 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 完成编译。

四、连接并检查设备

  1. 用数据线将相机连接到 USB 3.x 接口。
  2. 等待系统完成设备识别。
  3. 运行 SDK 自带的设备枚举或数据流示例。
  4. 确认程序能够读取设备名称、序列号及传感器列表。

如果程序找不到设备,优先更换接口和数据线,然后检查权限规则、驱动状态以及相机是否被其他程序占用。

五、打开深度数据流

一个典型的深度采集流程包含以下步骤:

  1. 创建 SDK 上下文并获取设备。
  2. 查询深度传感器支持的数据流配置。
  3. 选择设备支持的分辨率、帧率和像素格式。
  4. 启动数据管线并循环等待帧。
  5. 读取深度帧宽高、时间戳和像素数据。
  6. 使用完毕后停止数据管线并释放资源。

初次测试时,不要直接指定未经确认的分辨率或帧率。先使用设备默认配置,稳定出图后再逐项调整。

六、如何判断深度图是否正常

七、常见问题

设备偶尔断开

优先排查数据线、USB 供电、扩展坞和接口带宽。多相机同时工作时,还要检查每个 USB 控制器的带宽分配。

彩色图正常,但没有深度图

检查是否启用了深度传感器、当前数据流组合是否受支持,以及目标是否处于相机有效工作范围内。

深度图噪声较多

保持相机稳定,避免强烈环境干扰,并根据具体场景调整曝光、滤波和数据流配置。

课后练习

  1. 记录当前相机的型号、序列号及可用深度数据流配置。
  2. 连续读取 300 帧,统计是否出现超时或丢帧。
  3. 选择画面中心像素,打印其深度值并观察距离变化。

参考资源

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注