因爲OpenNI是ubuntu12.04之前使用的驅動kinnect的庫,如今用起來有不少的不便,用心的系統運行舊的設備,有諸多問題。現總結流程以下:python
環境:Ubuntu16.04 64bitgit
Kinect V1 XBOX 360ubuntu
1.安裝OpenNI並試運行python2.7
https://sigmaoctantis.wordpress.com/2015/07/07/kinect-installation-in-ubuntu-14-10/wordpress
基本流程參照以上連接,有幾個地方須要注意:ui
1).NITE1.5 下載不到了,能夠手動搜索NITE-Bin-Dev-Linux-x64-v1.5.2.21並下載,我在這裏下載的v1.5.2.23版本,親測可使用。google
2).若是沒有在python用到OpenNI,那Copy it your python version library中sudo cp ./lib/openni.so /usr/lib/pymodules/python2.7/這一步不用執行。spa
2.安裝相關依賴項和庫code
1)一塊兒寫到這裏,先都裝了吧,遲早都要用。orm
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相機驅動,因此須要用已鏈接好的驅動。