在之前的几篇文章中,说明了怎样在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 传感器进行复杂任务?的详细内容,更多请关注小闻网其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。