由于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 libtiff4-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-devsudo apt-get install libopenni-dev libopenni2-dev //主要用于环境配置16.04之前不能直接装
2)安装opencv3.2.0,从官网下下来,cmake make make install安装即可,注意前面的库都要装上,不然有的模块opencv默认就不安装了。
3.下在kinfu并运行
在git上下载压缩版的kinfu_remake,打开cmakelist.txt,将其中的opencv依赖改成3.2.0版本,进入程序路径:
mkdir build cd build ccmake ..
按t进入高级配置窗口,OpenNI的lib路径不要选根目录那个(默认是这个),改成我们自己装的那个libopenni.so
然后
make -j8 bin/demo
可以运行了。
个人理解:
为什么要这么做呢,因为新的Ubuntu版本,可以直接install libopenni。但是libopenni.so没有链接到libFreenectDriver.so Kinect相机驱动,所以需要用已连接好的驱动。
原文地址:http://www.cnblogs.com/sp-li/p/7680515.html