欢迎阅读Orbbec SDK(以下简称“SDK”)的使用教程!SDK 不仅提供了简洁的高阶API,又提供全面、灵活的低阶API,能够让您更快速的了解和使用奥比中光3D传感摄像头。
Orbbec SDK是针对奥比中光结构光、双目、iToF等3D传感摄像头,提供设备参数配置、数据流读取和流处理的,跨平台(Windows、Android、Linux)的软件开发包。
核心功能:
深度相机的访问及相关参数设置
- RGB相机的访问及相关参数设置(例如:曝光和白平衡)
- 传感器的访问及相关参数设置(例如:陀螺仪和加速度计)
- 帧同步及对齐的控制
- 点云数据
- 滤波等算法能力
- 多操作系统及Wrapper的支持。
亮点
- “薄”:提供最少层级、高性能获取设备数据的能力
- “灵活”:模块化传感器功能,灵活组合不同设备
- “高可扩展”:支持日益多样化形态的设备及系统,以及插件化算法适用于不同场景
SDK 中包含的内容:
应用工具层
OrbbecViewer,Sample 及用户应用实现。
接口封装层
OrbbecSDK 接口封装及 wrapper的封装。
高级业务层
HighLevel 对核心业务组件进行封装,使用pipeline 对外提供接口。
基础业务层
核心业务逻辑框架实现。
平台/通信抽象层
跨平台组件屏蔽各个操作系统差异实现,提供统一访问方式。
平台实现层
各个平台的驱动实现。
注:其中标了序号的是对外的接口,没有标明序号的是内部接口。
Context
环境上下文,初始化时最先创建的对象,可进行一些设置,包括但不限于设备状态改变回调、日志等级等等的设置。Context可以访问多个Device。
Device
一台实际硬件设备对应一个Device对象。用来获取设备相关信息和控制设备的属性。
Sensor
Sensor 可以理解为实际设备的子设备,比如对应Color Sensor、IR Sensor、Depth Sensor、IMU Sensor等等。一个Device可以包含多个Sensor。
Stream
Stream 代表数据流,一般一个Sensor会输出一种或者多种数据流,数据流由一系列的时间序列帧。Frame组成。针对Stream, 用StreamProfile来描述单独流配置。
Frame
代表Stream中的一帧数据,也包含了该帧数据的相关信息,如时间戳、类型等。
FrameSet
代表同一时间戳下面的不同类型Frame的组合,比如Color Frame、Depth Frame的组合。
Pipeline
HighLevel对应的对象,封装了快速访问SDK的接口,功能简单,可以让用户快速地上手和使用SDK。
Filter
主要是针对复合流FrameSet的一些算法处理模块,例如:点云的算法处理。