Version

1.2. Orbbec SDK概述

本节介绍C+| 15 | 元数据 | 帧元数据是一组参数(或属性),提供帧生成期间传感器配置和/或系统状态的快照。 |版本的Orbbec SDK。其架构和概念与Python包装器保持一致。

1.2.1. 术语表

序号 名称 解释
1 USB 通用串行总线
2 UVC USB视频类
3 Firmware 3D相机固件
4 Disparity(视差) 视差是从具有一定距离的两个点观察同一目标的方向差异。
5 D2D (Disparity to depth) 视差到深度是一种图像处理技术,用于将视差信息转换为深度信息。
6 硬件D2D 视差到深度转换在设备内部实现,不占用主机的计算能力。
7 软件D2D 视差到深度转换,在Orbbec SDK中实现。
8 深度点云 深度点云,三维世界坐标系中点的坐标,可以使用深度相机的内参将其转换为点云。
9 RGBD点云 叠加了RGB信息的点云。
10 D2C(深度到彩色) "深度到彩色"功能是对深度图像执行逐像素几何变换的特性。其结果是通过D2C变换将深度图像与其对应的彩色图像对齐,使我们能够通过在变换后的深度图像中使用彩色像素的相同图像坐标位置来定位该像素的深度信息。D2C变换后,我们生成与目标彩色图像大小相同的深度图像,其中图像内容表示彩色相机坐标系中的深度数据。换句话说,它重建了使用彩色相机的原点和尺寸"拍摄"的深度图像,其中每个像素都与彩色相机的相应像素坐标匹配。
11 硬件D2C 硬件D2C是指在相机内部执行深度到彩色变换的功能,相机直接输出D2C变换的结果。
12 软件D2C 使用SDK在主机端执行D2C计算。
13 帧聚合(FrameSet) 将深度、红外和彩色帧组合成帧集,并通过管道调用。
14 C2D(彩色到深度) "彩色到深度"功能是对彩色图像执行逐像素几何变换的特性。其结果是通过C2D变换将彩色图像与其对应的深度图像对齐。
15 MetaData Frame metadata is a set of parameters (or attributes) that provide a snapshot of the sensor configuration and/or system state present during the frame’s generation.
16 HDR(高动态范围) 高动态范围(HDR)成像允许成像系统在极暗和极亮的场景中都能捕获图像。我们提出了一个在主机CPU上运行的软件解决方案来实现此功能。它利用来自两个连续帧的数据并直接合成这两个深度图像,从而增强16位深度图像的动态范围。
17 LDP 激光近距离保护。

1.2.2. Orbbec SDK v2架构概述

OrbbecSDK v2 软件架构

  • 应用层

OrbbecViewer、示例程序和用户应用程序的实现。

  • 接口和封装层

OrbbecSDK接口封装和包装器封装。

  • 高级层

HighLevel封装核心业务组件,并使用管道向外部提供接口。

  • 基础业务层

核心业务逻辑框架的实现。

  • 平台抽象层

跨平台组件抽象操作系统差异,提供统一的访问接口。

  • 平台实现层

各平台的驱动程序实现。

1.2.3. SDK概念概述

  • Context(上下文)

Context提供一组设置,包括设备状态变化回调、日志级别等设置。Context可以访问多个设备。

  • Device(设备)

一个实际的硬件设备对应一个Device对象,用于获取设备的相关信息并控制其属性。

  • Pipeline(管道)

HighLevel对应的对象,封装了快速访问SDK的接口。它具有简单的功能,允许用户快速开始使用SDK。

  • Config(配置)

提供启用数据流、对齐模式和帧聚合模式的配置,用于控制数据输出的行为。

  • StreamProfile(流配置)

定义分辨率、帧率和编码格式等参数的流配置,还提供相机参数的管理。

  • Frame(帧)

表示流中的一帧数据,还包含该帧数据的相关信息,如时间戳、类型等。

  • Filter(滤波器)

主要指对复合流FrameSet的一些算法处理模块,如点云算法处理。

  • Record(录制)

录制功能,捕获数据流并将其保存为文件,以便稍后分析或回放。

  • Playback(回放)

回放功能,播放录制的文件,并支持对回放速度和其他相关参数的控制。

1.2.4. SDK编程模型

这是C++编程逻辑流程图。Python的编程逻辑与此相同。

  • 标准流程图:

image.png

标准流程图演示了如何从设备列表中创建设备、设置和获取参数以及应用后处理滤波器。

  • 使用默认配置的流程图(基于OrbbecSDKConfig.xml中默认设置的流获取):

image