在Ubuntu 中 编译Orbbec Astra(奥比中光)RGBD sdk中samples的采坑手记

1 篇文章 0 订阅

最近在某宝
入手了一个乐视三合一体感摄像头,内核是Orbbec Astra,用来玩玩SLAM。
Orbbec Astra
到货了以后,马上就到 Orbbec官网 找SDK,上面有各个平台的SDK。
在这里插入图片描述
win64下的安装很容易,Samples中有自带的二进制文件,自己使用cmake编译起来也很容易,可能是因为win64的驱动比较全。

Ubuntu下的Samples编译就提示需要SFML库,百度了一下SFML,也没有现成的,需要自己编译。按照正常思路到Github上 下载了SFML代码,然后使用cmake编译,编译过程又是提示缺udev库,还是百度,相关内容找到一堆,没有找到对路的,后来尝试了一下直接安装libudev-dev,居然可以安装,编译时也通过了。

sudo apt-get install libudev-dev

udev的问题解决,又出现了缺少openal库,如法炮制,居然可以。

sudo apt-get install libopenal-dev

接着提示缺少vorbis库,一样处理。

sudo apt-get install libvorbis-dev

这样SFML就编译完了,安装,然后编译Orbbec Astra SDK 的示例代码。
在这里插入图片描述
我是在Ubuntu 14.04下面编译的,别的版本可能有所不同。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用以下示例代码来开始使用奥比中光OrbbecAstra深度摄像头: ```cpp #include <astra/astra.hpp> #include <iostream> class SampleFrameListener : public astra::FrameListener { public: void on_frame_ready(astra::StreamReader& reader, astra::Frame& frame) override { const astra::DepthFrame depthFrame = frame.get<astra::DepthFrame>(); if (!depthFrame.is_valid()) { std::cout << "Invalid depth frame!" << std::endl; return; } const int width = depthFrame.width(); const int height = depthFrame.height(); const int frameIndex = depthFrame.frame_index(); std::cout << "Depth frame " << frameIndex << " ready: " << width << "x" << height << std::endl; const astra::Vector3f* depthData = depthFrame.data(); const int numPixels = width * height; for (int i = 0; i < numPixels; ++i) { const float depth = depthData[i].z; // 处理深度数据,例如将其可视化或进行其他计算 } } }; int main(int argc, char** argv) { astra::initialize(); astra::StreamSet streamSet; astra::StreamReader reader = streamSet.create_reader(); SampleFrameListener listener; reader.stream<astra::DepthStream>().start(); reader.add_listener(listener); while (true) { astra_update(); // 执行其他任务,或者在这里添加退出循环的条件 } astra::terminate(); return 0; } ``` 这个示例代码演示了如何使用Astra SDK来读取并处理深度帧数据。你可以在`on_frame_ready`函数处理深度数据,例如将其可视化或进行其他计算。 请确保已经正确安装Astra SDK,并将其相关库文件和头文件链接到你的项目。此外,你还需要为你的程序提供适当的权限来访问Astra摄像头设备。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值