提示

奥比中光 · 3D视觉开发者社区...

Astra SDK 退市公告

亲爱的开发者:

感谢您对奥比中光一直以来的关心与支持!

为了给您提供更好的产品和服务,奥比中光团队经过慎重考虑,决定对SDK业务发展策略进行调整,我们会在2022年11月30日终止Astra SDK(包括Astra SDK安装包、代码示例、文档资料、视频等)的维护,并停止提供相关支持。对此次服务调整给您带来的不便深表歉意。

在此,我们提供Orbbec SDK搭配Orbbec Pose SDK方案或者Orbbec SDK搭配Astra Pose SDK方案,用于替代Astra SDK。希望该信息能在您制定未来开发计划时提供参考,以下是替代方案简介。

Orbbec SDK

Orbbec SDK 兼容 OpenNI2 协议,可以完全兼容Astra SDK支持的产品,能够实现Astra SDK的基础数据和控制功能;同时,Orbbec SDK 同样提供 C/C++/Android/Unity wrapper。详细使用请参考:Orbbec SDK · 3D视觉开发者社区 · 奥比中光

Orbbec Pose SDK

Orbbec Pose SDK 是 RGBD人体骨骼跟踪算法SDK,它基于深度学习技术,通过RGBD图像数据,准确识别人体21个关键骨骼点,输出对应的2D坐标和3D坐标。支持正面,侧面,背面,躺,卧等各种复杂动作,检测精准,识别快速,可以有效替代Astra SDK内置的对应功能。详细使用请参考:Orbbec Pose · 3D视觉开发者社区 · 奥比中光

Astra Pose SDK

Astra Pose SDK与Astra SDK中的授权骨骼算法相同,可等效替代相关功能。获取Astra Pose SDK安装包及详细使用方法请联系:海外(info@orbbec3d.com),国内(developer@orbbec.com

Orbbec SDK 与 Astra SDK 基本使用API对照
  1. SDK初始化

Astra SDK

astra::initialize();
            

Orbbec SDK

ob::Pipeline pipe;
            
  1. 打开数据流(以深度数据为例)

Astra SDK

astra::StreamSet streamSet;
            astra::StreamReader reader = streamSet.create_reader();
            auto depthStream = reader.stream<astra::DepthStream>();
            depthStream.start();
            

Orbbec SDK

auto profiles = pipe.getStreamProfiles(OB_SENSOR_DEPTH);
            auto depthProfile = profiles->getProfile(0)->as<ob::VideoStreamProfile>();
            std::shared_ptr<ob::Config> config = std::make_shared<ob::Config>();
            config->enableStream(depthProfile);
            pipe.start(config);
            
  1. 流对齐

Astra SDK

depthStream.SetRegistration(true);
            

Orbbec SDK

config.SetAlignMode(Orbbec.AlignMode.ALIGN_D2C_HW_MODE);
            
  1. 关闭数据流

Astra SDK

depthStream.stop();
            

Orbbec SDK

pipe.stop();
            
  1. 释放SDK

Astra SDK

astra::terminate();
            

Orbbec SDK

//程序正常退出之后资源将会自动释放
            

注:表中为C/C++环境下的部分API对照示例,具体请参照相关SDK文档。

感谢您一直以来给予Astra SDK的支持与厚爱,今后也请大力支持奥比中光的产品!

2022年11月