ubuntu16.04 安装OpenNI并运行kinnectfusion
Posted 奔跑_少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu16.04 安装OpenNI并运行kinnectfusion相关的知识,希望对你有一定的参考价值。
由于OpenNI是ubuntu12.04以前使用的驱动kinnect的库,现在用起来有很多的不便,用心的系统运行旧的设备,有诸多问题。现总结流程如下:
环境:Ubuntu16.04 64bit
Kinect V1 XBOX 360
1.安装OpenNI并试运行
https://sigmaoctantis.wordpress.com/2015/07/07/kinect-installation-in-ubuntu-14-10/
基本流程参照以上链接,有几个地方需要注意:
1).NITE1.5 下载不到了,可以手动搜索NITE-Bin-Dev-Linux-x64-v1.5.2.21并下载,我在这里下载的v1.5.2.23版本,亲测可以使用。
2).如果没有在python用到OpenNI,那Copy it your python version library中sudo cp ./lib/openni.so /usr/lib/pymodules/python2.7/这一步不用执行。
2.安装相关依赖项和库
1)一起写到这里,先都装了吧,早晚都要用。
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo add-apt-repository ppa:openjdk-r/ppa //新的版本没有这个库了 自己加载
sudo apt-get update
sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-7-jdk freeglut3-dev libglew-dev libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev libboost1.58-dev libboost1.58-all-dev libeigen3-dev libflann-dev libvtk5-dev libqhull-dev
sudo apt-get install libopenni-dev libopenni2-dev //主要用于环境配置16.04之前不能直接装
2)安装opencv3.2.0,从官网下下来,cmake make make install安装即可,注意前面的库都要装上,不然有的模块opencv默认就不安装了。
3.kinfu运行
kinfu_remake git 下载 进入程序路径:
mkdir build
cd build
ccmake ..
按t进入高级配置窗口,OpenNI的lib路径不要选根目录那个(默认是这个),改成我们自己装的那个libopenni.so
或者执行 cmake -DCMAKE_BUILD_TYPE=Debug -DOPENNI_LIBRARY=/home/lsp/kinect/OpenNI/Platform/Linux/Bin/x64-Release/libOpenNI.so ..
然后
make -j8
bin/demo
可以运行了。
个人理解:
为什么要这么做呢,因为新的Ubuntu版本,可以直接install libopenni。但是libopenni.so没有链接到libFreenectDriver.so Kinect相机驱动,所以需要用已连接好的驱动。
以上是关于ubuntu16.04 安装OpenNI并运行kinnectfusion的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu16.04 使用kinectv2跑Elasticfusion