在之前的幾篇文章中,說明了怎樣在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硬體要求
Virtualmachineslikelydonotwork,becauseUSB3.0isochronoustransferisquitedelicate.
1.2作業系統要求
由於我們只關注Ubuntu所以只列舉Ubuntu系統的要求:
1.3可選擇的設定選項1.4安裝Kinect2.0驅動程式
<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中文網其他相關文章!