SDK架构

    PG电子

      PG电子

      SDK架构

      概述

      欢迎阅读Orbbec SDK(以下简称“SDK”)的使用教程!SDK 不仅提供了简洁的高阶API,又提供全面、灵活的低阶API,能够让您更快速的了解和使用PG电子3D传感摄像头。

       

      功能介绍

      Orbbec SDK是针对PG电子结构光、双目、iToF等3D传感摄像头,提供设备参数配置、数据流读取和流处理的,跨平台(Windows、Android、Linux)的软件开发包。

       

      核心功能:

      深度相机的访问及相关参数设置

      - RGB相机的访问及相关参数设置(例如:曝光和白平衡)

      - 传感器的访问及相关参数设置(例如:陀螺仪和加速度计)

      - 帧同步及对齐的控制

      - 点云数据

      - 滤波等算法能力

      - 多操作系统及Wrapper的支持。

       

         亮点

       

      - “薄”:提供最少层级、高性能获取设备数据的能力

      - “灵活”:模块化传感器功能,灵活组合不同设备

      - “高可扩展”:支持日益多样化形态的设备及系统,以及插件化算法适用于不同场景

       

      SDK 中包含的内容:image.png

       

      SDK 架构

       image.png

        

      应用工具层

      OrbbecViewer,Sample 及用户应用实现。

       

      接口封装层

      OrbbecSDK 接口封装及 wrapper的封装。

       

       高级业务层

      HighLevel 对核心业务组件进行封装,使用pipeline 对外提供接口。

       

       基础业务层

      核心业务逻辑框架实现。

       

       平台/通信抽象层

      跨平台组件屏蔽各个操作系统差异实现,提供统一访问方式。

       

       平台实现层

      各个平台的驱动实现。

       

      SDK 视频流获取时序图

       image.png

       注:其中标了序号的是对外的接口,没有标明序号的是内部接口。

       

      SDK 常用概念

       

      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的一些算法处理模块,例如:点云的算法处理。

       

       

       

       

       

       


      友情链接: