首页  >  文章  >  系统教程  >  Ubuntu 16.04 如何使用 Kinect 2.0 RGB-D 传感器进行复杂任务?

Ubuntu 16.04 如何使用 Kinect 2.0 RGB-D 传感器进行复杂任务?

PHPz
PHPz原创
2024-07-01 06:12:56959浏览

Ubuntu 16.04 如何使用 Kinect 2.0 RGB-D 传感器进行复杂任务?

在之前的几篇文章中,说明了怎样在Ubuntu16.04中配置OpenCV3.4.1kinect for linux驱动,并依据一些OpenCV的教程完成了其基本知识内容的学习,但在学习过程中用于实验的图象大部份是来自网路或是依靠于电脑笔记本的摄像头,而为了完成一些愈加复杂的任务,须要使用其它的视觉传感,所以在这儿记录一下Ubuntu16.04使用Kinect2.0RGB-D传感的内容。

1.驱动安装

Kinect2.0在Windows系统中是有官方提供的现成的驱动程序可以使用的,但是有对应的SDK可以辅助开发人员进行应用开发,但在Linux系统中,就须要在Github上找对应的开源驱动代码,但是进行安装调试。

Kinect2.0的开源驱动包坐落:

在其内有两类驱动,一类是libfreenect用于一代Kinect的驱动,另一类libfreenect2用于二代Kinect的驱动kinect for linux驱动,在本文中用的是二代驱动程序。以下内容是针对Ubuntu系统说明的,假如要查看其它系统,则可以移步到:查看驱动包的详尽说明。

1.1硬件要求

驱动精灵_驱动总裁_kinect for linux驱动

Virtualmachineslikelydonotwork,becauseUSB3.0isochronoustransferisquitedelicate.

1.2操作系统要求

由于我们只关注Ubuntu所以只列举Ubuntu系统的要求:

1.3可选择的配置选项1.4安装Kinect2.0驱动

驱动总裁_驱动精灵_kinect for linux驱动

<span class="hljs-built_in">cd</span> ~<span class="hljs-comment">#设置克隆目录,当前在Home目录中,也可以设置在其它目录中</span>
git clone https://github.com/OpenKinect/libfreenect2.git
<span class="hljs-built_in">cd</span> libfreenect2

sudo apt<span class="hljs-attribute">-get</span> install build<span class="hljs-attribute">-essential</span> cmake pkg<span class="hljs-attribute">-config</span>

sudo apt<span class="hljs-attribute">-get</span> install libusb<span class="hljs-subst">-</span><span class="hljs-number">1.0</span><span class="hljs-subst">-</span><span class="hljs-number">0</span><span class="hljs-attribute">-dev</span>

sudo apt<span class="hljs-attribute">-get</span> install libturbojpeg libjpeg<span class="hljs-attribute">-turbo8</span><span class="hljs-attribute">-dev</span>

sudo apt<span class="hljs-attribute">-get</span> install libglfw3<span class="hljs-attribute">-dev</span>

sudo apt<span class="hljs-attribute">-get</span> install libopenni2<span class="hljs-attribute">-dev</span>

mkdir build && <span class="hljs-built_in">cd</span> build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/<span class="hljs-comment">#修改了原来的安装位置</span>
make
<span class="hljs-built_in">sudo</span> make install<span class="hljs-comment">#这里直接用root权限安装,如果是普通权限有的时候会出现安装不成功的情况</span>

sudo <span class="hljs-keyword">cp</span> ../platform/linux/udev/<span class="hljs-number">90</span>-kinect2<span class="hljs-preprocessor">.rules</span> /etc/udev/rules<span class="hljs-preprocessor">.d</span>/

./bin/Protonect<span class="hljs-comment">#重新接入之后运行测试</span>
<span class="hljs-built_in">sudo</span> apt-get install openni2-utils && <span class="hljs-built_in">sudo</span> make install-openni2 && NiViewer2 <span class="hljs-comment">#可选测试</span>

重新接入的过程中,假如只是重新插拨一下USB插口,可能并不会生效,最稳当的办法是将Kinect断电以后重新上电,在上下电的过程中USB插口可以不用重新插拨。

1.5测试结果

以上所有步骤倘若不出问题linux 虚拟主机,则可以得到类似以下内容:

测试图片

运行可选的测试命令也会出现类似的图象,但那种是全屏的,按下ESC就可以退出,就不再放图片了,所以到了这一步linux游戏,驱动包的安装就早已成功了,下边的内容是假如在代码中使用传感获取数据,这一步才是最须要关注的。

2.编程实现

编程实现通过Ubuntu读取Kinect的数据,同样须要利用于驱动包所提供的库函数,下边就详尽解释怎样在程序中实现数据的获取与处理。首先以下为须要包含的头文件:

<span class="hljs-preprocessor">#include </span>
<span class="hljs-preprocessor">#include </span>
<span class="hljs-preprocessor">#include </span>
<span class="hljs-preprocessor">#include </span>
<span class="hljs-preprocessor">#include #用于日志信息,视需求可省略</span>

具体代码的实现参考了以下网址:

以上是Ubuntu 16.04 如何使用 Kinect 2.0 RGB-D 传感器进行复杂任务?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn