问题说明
我用的是笔记本,装有gtx1070显卡。想利用Openni2从Kinect2中获取数据,但是当运行测试程序的时候老是包如下的错误:
$ cd OpenNI2
$ ./Bin/x64-Release/SimpleViewer
SimpleViewer: Device open failed:
DeviceOpen using default: no devices found
解决办法
虽然Openni2的测试程序运行失败,但是我装的libfreenect2运行没有问题。在libfreenect2的安装步骤中有安装Openni2的,但是在sudo apt-get update时老有问题:
W: Failed to fetch http://ppa.launchpad.net/deb-rob/ros-trusty/ubuntu/dists/trusty/main/binary-amd64/Packages Hash Sum mismatch
W: Failed to fetch http://ppa.launchpad.net/deb-rob/ros-trusty/ubuntu/dists/trusty/main/binary-i386/Packages Hash Sum mismatch
W: Failed to fetch http://ppa.launchpad.net/deb-rob/ros-trusty/ubuntu/dists/trusty/main/i18n/Translation-en Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.
忽略这个问题直接进行下一步:
$ sudo apt-add-repository ppa:deb-rob/ros-trusty && sudo apt-get update
$ sudo apt-get install libopenni2-dev
$ mkdir build && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
$ make
$ make install
$ sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
在此路径下测试是否可以从Kinect2中读取数据
./bin/Protonect
如果没有问题,则在此路径下执行如下操作:
$ sudo apt-get install openni2-utils
$ sudo make install-openni2
$ NiViewer2
没有问题就可以去Openni2的路径下执行测试程序了:
$ cd OpenNI2
$ ./Bin/x64-Release/NiViewer
测试没有问题!