前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Orbbec Gemini 相机SDK 适配笔记.2

Orbbec Gemini 相机SDK 适配笔记.2

作者头像
云深无际
发布2021-11-04 10:30:22
1.2K0
发布2021-11-04 10:30:22
举报
文章被收录于专栏:云深之无迹

很喜欢导航里的一句话,你已偏离路线,已为你重新规划,请在合适的位置选择掉头。可是啊,人生无退路

Orbbec Gemini相机 SDK适配笔记

关于RGBD相机选型(奥比中光)

这篇文章对SDK的目录结构和若干文件做解答。

代码语言:javascript
复制
https://developer.orbbec.com.cn/download.html?id=64

SDK的链接位置

对于我们单纯的使用相机来讲,获得数据流是最重要的事情

官方提供的是OpenNI的接口,接下来就探索一下相关的资源,接着就是在ARM的设备上面的安装使用。

先附上SDK的地址:

代码语言:javascript
复制
https://developer.orbbec.com.cn/develop_details.html?id=2

就是这个了

因为这个是一个开源的魔改版本(其实也不是魔改版本):

代码语言:javascript
复制
https://github.com/OpenNI/OpenNI2

位置在此

有机会的话,做下差异性检查(对比以前的版本和奥比的差异)

还要注意这句话,RGB的读取使用OpenCV

Arm平台下的例子

在这里

看下安装的要求,其实都是可以的啦

其实我后面觉得是1G的运行内存的意思

下载这个就好

代码语言:javascript
复制
https://developer.orbbec.com.cn/download.html?id=64

如果是使用树莓派或者是Jetson Nano,请来这个地址下载我指的东西

东西不大,是阿里云托管的

解压的内容物,还是很清晰的结构

这些so库就是编译好的二进制库,需要放在我们的动态库的链接位置

需要注意的一点是:

可能需要USBLib的驱动,什么RGBD的相机在Linux下没什么驱动问题。

代码语言:javascript
复制
https://sourceforge.net/projects/libusb/files/libusb-1.0/

直接下载

代码语言:javascript
复制
- Linux:
  - LibUSB 1.0.x
    sudo apt-get install libusb-1.0-0
  - LibUDEV
    sudo apt-get install libudev0
  - FreeGLUT3
    sudo apt-get install freeglut3

你需要安装以上三个库来辅助我们的OpenNI运行,如果想要编译OpenGL的话,你最后一个库需要安装开发版。

代码语言:javascript
复制
   sudo apt-get install freeglut3-dev

OpenNI的编译需要下面这些库的安装

代码语言:javascript
复制
Linux
-----
- GCC 4.x
    sudo apt-get install g++
- Python 2.6+/3.x
    sudo apt-get install python
- LibUSB 1.0.x
    sudo apt-get install libusb-1.0-0-dev
- LibUDEV
    sudo apt-get install libudev-dev
- JDK 6.0
    sudo apt-get install openjdk-6-jdk
- FreeGLUT3
    sudo apt-get install freeglut3-dev
- Doxygen
    sudo apt-get install doxygen
- GraphViz
    sudo apt-get install graphviz

至于编译的时候就更加的简单了~在OpenNI的目录下

代码语言:javascript
复制
make

如果是交叉编译的话

代码语言:javascript
复制
  - ARM_CXX=<path to cross-compilation g++>
  - ARM_STAGING=<path to cross-compilation staging dir>

先定义环境变量

代码语言:javascript
复制
PLATFORM=Arm make

然后因为是使用的CMake,所以就执行上面的。

代码语言:javascript
复制
https://structure.io/openni

我找了一下OpenNI的官网,发现其实是有第二代的SDK

这个里面有个SDK叫结构SDK,也不知道能不能用

也可以注册为一个开发者,来下载额外的SDK

这里就下载了一个

这是目录结构

还有的doc

看来也用不上,就此为止啦

但是SDK里面还有ROS的例子,我觉得我完全可以移植

上面看的这个SDK是OpenNI的升级SDK,而下面这个才是我们使用的SDK,也就是一代。

代码语言:javascript
复制
https://structure.io/openni

地址在此

我们在这里可以下载到一个zip的文件,用浏览器打开

找到index的文件,打开就好了

乍一看,和我们的奥比的SDK文档一样(怕不是一样吧)。我看了一下,应该是全部都一样。

我觉得这个设置是很有必要的。

继续读:

安装SDK的说法,在编写我们的RGBD应用的时候,在编写的时候都要像这样:

加上第二个这样的头文件

头文件位置在此

这个是我从OpenNI的头文件里面找到的其它头

这里的宏写的是支持的平台

在实例里面都可以看到这个error的方法

咋说呢,就是驱动相机的时候,先要初始化呗~然后其实就是驱动的事情,如果这个驱动没有安装好,就用不了,可是我们也不知道哪里的毛病,所以就相当于是个日志的打印。

API

函数的样子

函数的说明

OpenNI的头文件

所有的类声明

下篇继续~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云托管 CloudBase Run
云托管 CloudBase Run(Tencent CloudBase Run,TCBR)是由云开发提供的新一代云原生应用引擎(App Engine 2.0),支持托管任意语言和框架编写的容器化应用。和云开发其他产品(云函数、云数据库、云存储、扩展应用、HTTP 访问服务、静态网站托管等)一起为用户提供云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档