说明
Kinect v2 只支持 USB3.0 接口, 在使用之前先确认一下。
OpenCV 的安装版本最好是选择 OpenCV 2.4.X。
在安装过程中要严格按照教程操作,确保每一步都是正确,否则后面的操作会有很多错误;如果在安装过程中出现问题,可以查看 github issues (including closed ones) 的讨论区,也许能有相同的问题。
该项目是针对 Kinect V2 开发时相关驱动的安装, libfreenect2是一个针对kinect v2的非官方驱动,它是开源的,当我们在官方驱动不能满足需求的时候可以考虑使用它,当然它集成的算法及功能是没有官方驱动丰富的。
libfreenect2驱动下载地址:GitHub libfreenect2
测试环境:
- Ubuntu14.04 32位
- ROS indigo
- 处理器:Inter(R) Celeron(R) CPU N3160 @ 1.60GHz x 4
驱动安装步骤
安装OpenCV (默认已经安装)
安装其它依赖项
$ sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
下载 libfreenect2 驱动
$ cd ~ $ git clone https://github.com/OpenKinect/libfreenect2.git $ cd libfreenect2
(也可以根据自己的需要下载到指定目录)
下载升级 deb 文件
$ cd depends $ ./download_debs_trusty.sh
安装 libusb
$ sudo dpkg -i debs/libusb*deb
安装 TurboJPEG
$ sudo apt-get install libturbojpeg libjpeg-turbo8-dev
安装 GLFW3
$ sudo apt-get install libglfw3-dev
如果以上面的方式安装失败,则使用下述方法:
$ cd libfreenect2/depends $ sh install_ubuntu.sh $ sudo dpkg -i libglfw3*_3.0.4-1_*.deb
若还是安装失败,换下面的指令:
$ sh install_glfw.sh $ sudo dpkg -i libglfw3*_3.0.4-1_*.deb
注意:若是执行 .sh 文件出现 “Permission denied” 的提示,则需要改变权限
chmod 777 install_*.sh
安装OpenGL的支持库(若没有GPU可以省略)
$ sudo dpkg -i debs/libglfw3*deb $ sudo apt-get install -f $ sudo apt-get install libgl1-mesa-dri-lts-vivid
若最后一条指令失败,可以直接忽略;
安装OpenCL的支持库—GPU加速(可选)
OpenCL with AMD:
在下面的网站安装最新版的 AMD Catalyst drivers ,并按照说明进行操作,同时安装依赖项
opencl-headers
$ sudo apt-get install opencl-headers
OpenCL/CUDA with Nvidia:
在官方网站developer.nvidia.com/cuda-downloads下载安装相关驱动,选择
linux
,x86_64
,Ubuntu
,14.04
,deb(network)
. 同时安装nvidia-modprobe
和opencl-headers
.$ sudo apt-get install nvidia-modprobe opencl-headers
然后需要添加 CUDA 安装路径到系统环境变量,也就是添加下面指令到
~/.bashrc
文件$ export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}" $ export PATH="/usr/local/cuda/bin:${PATH}"
同时,配置 lib 库:
$ echo "/usr/local/cuda/lib64" | sudo tee /etc/ld.so.conf.d/cuda.conf sudo ldconfig
OpenCL with Intel:
$ sudo add-apt-repository ppa:floe/beignet $ sudo apt-get update $ sudo apt-get install beignet beignet-dev opencl-headers
若在执行
update
命令是失败,可参考该 博客 进行换源。
编译 libfreenect2
$ cd ~/libfreenect2 $ mkdir build && cd build $ cmake .. -DENABLE_CXX11=ON $ make $ make install
参数代表增加对 C++11 的支持。
此时是编译安装在了 libfreenect2/build 文件夹下,也可以自己指定安装目录,用下面的指令代替
cmake ..
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
获取设备权限
$ sudo cp platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
测试驱动是否安装完成
需要重新插一下Kinect,然后执行下述指令:
$ sudo chmod +x ./bin/Protonect
$ ./bin/Protonect cpu
$ ./bin/Protonect gl
$ ./bin/Protonect cl
如果都运行成功,则表示驱动安装完成,此时显示界面如图: