首先安装驱动libfreenect2
1、下载源码
git clone https://github.com/OpenKinect/libfreenect2.git
2、安装依赖
sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libglfw3-dev
3、Cmake编译并安装
cd libfreenect2
mkdir build
cd build
cmake ..
make
4、将libfreenect2/build/lib中的libfreenect2-openni2.so 和 libfreenect2-openni2.so.0复制到/usr/lib/OpenNI2/Drivers(我的openni2的安装目录)文件夹中,一般是在这个路径下
sudo cp libfreenect2/build/lib/libfreenect2-openni2.so /usr/lib/OpenNI2/Drivers/
sudo cp libfreenect2/build/lib/libfreenect2-openni2.so.0 /usr/lib/OpenNI2/Drivers/
调用kinect2的代码在我的博客中有,如下:Kinect2使用
关于libfreenect2必须sudo ./Protonect运行的解决办法:
usb权限问题
创建一个udev rule file解决
cd /etc/udev/rules.d
sudo gedit 90-kinect2.rules
添加如下信息:
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d9", MODE="0666"
通过此命令来确认USB设备的信息
dmesg | grep "045e"
重新插拔设备即可