ubuntu16.04 编译和配置openni2 opencv2 libfreenect2(OpenKinect)
2017-02-22 17:40
507 查看
配置openni2.2
方法一:使用后期维护的一个版本
https://github.com/occipital/OpenNI2
具体可以参考安装说明
方法二:
用原版的 编译后的库文件
在解压缩之后 运行 install.sh
会生成环境变量文件
Environment variables
cat OpenNIDevEnvironment >> ~/.bashrc
cat NiTEDevEnvironment >> ~/.bashrc
OPENNI2_INCLUDE: full path to OpenNI2/Include
OPENNI2_REDIST: full path to OpenNI2/arch-Release
NITE2_INCLUDE: full path to NiTE-OS-arch-2.x
NITE2_REDIST64 or NITE2_REDIST: full path to NiTE-OS-arch-2.x/Redist
DeviceOpen using default: no devices found
Press any key to continue . . .
Follow the installation instructions for OpenNI2 and NiTE2 by running the respective install.sh scripts. These scripts will create two files called OpenNIDevEnvironment and NiTEDevEnvironment. To copy their content permanently into your .bashrc, do:
At the end of this process, you will have these environment variables:
where OS = Linux, arch = x64 or x86.
如果运行不了,请看这个部分
我的是Ubuntu16.04 可能是系统版本的问题
对于以上的方法一 我一直没有出现问题,编译之后即可打开NIview
但是对于方法二,一直提示找不到设备
bliss:~/OpenNI_NITE/OpenNI-Linux-x64-2.2/Tools$ ./NiViewer openDevice failed: DeviceOpen using default: no devices found Press any key to continue . . .
查找了USB设备
$ lsusb Bus 001 Device 002: ID 8087:8000 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 004: ID 093a:2521 Pixart Imaging, Inc. Optical Mouse Bus 002 Device 002: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub Bus 002 Device 007: ID 1d27:0601 ASUS
于是开始怀疑是动态链接库不对应
这里参考了:
https://codeyarns.com/2014/05/06/depthsense-error-some-dll-files-are-missing/?nsukey=Gn3%2BCsCBZVu23RHawJ24BGiVjymJIE%2FhzLTCNdmAhrwujK8Jd5WzltM1Y7psCJNugNH2Cb531tIJ%2BJOzwqJChSXoah3HoTfqHw6svFd4apSftpFfBaLfGg9Kl8ig5Oe2AAF6ANvU5F4OYVR6Yb5l8tov0fqn44jZUyeEIRxqEV9cBYNebH%2F79N1AzfZJp6pg
试了试 查看应用和对应的库文件
$ ldd NiViewer linux-vdso.so.1 => (0x00007ffc6af45000) libglut.so.3 => /usr/lib/x86_64-linux-gnu/libglut.so.3 (0x00007fc2a4155000) libGL.so.1 => /usr/lib/nvidia-367/libGL.so.1 (0x00007fc2a3ec6000) libOpenNI2.so => ./libOpenNI2.so (0x00007fc2a3c49000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc2a38c1000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc2a35b8000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc2a33a0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc2a2fd7000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc2a2dba000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc2a2bb1000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fc2a2877000) libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fc2a2667000) libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fc2a2460000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc2a225c000) libGLX.so.0 => /usr/lib/nvidia-367/libGLX.so.0 (0x00007fc2a202b000) libGLdispatch.so.0 => /usr/lib/nvidia-367/libGLdispatch.so.0 (0x00007fc2a1d41000) /lib64/ld-linux-x86-64.so.2 (0x000055f96523b000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fc2a1b1f000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fc2a190c000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fc2a1708000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fc2a1501000)
可见 动态库都对应上了,下面试着查看一下二进制库文件的对应情况
定位库文件
$ locate libudev.so /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.1.6.4 /usr/lib/x86_64-linux-gnu/libudev.so
于是我们把需要的库和现存的库设置映射关系
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.6.4 /lib/x86_64-linux-gnu/libudev.so.0
配置opencv2.4.13 可以参考官方网站
http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html[/code]配置libfreenect
参考官方指南 https://github.com/OpenKinect/libfreenect2/blob/master/README.md#linux
在安装配置中,尽量不使用Ubuntu14.04 而是其他
最后,要配置Kinect2和openni2,nite2
需要将libfreenect2/build/lib中的libfreenect2-openni2.so 和 libfreenect2-openni2.so.0放置在OpenNI2\Tools\OpenNI2\Drivers中
然后运行OpenNI2\Tools\NiViewer
例如,加入在
之后运行路径中Tool文件夹中的NiViewer即可
相关文章推荐
- ubuntu 14.04 +Kinect+ openNI+ openCV+ Sensorkinect 配置 +获取深度图像及相关问题
- 【转载】Ubuntu下安装配置OpenNI, OpenCV(来自韶子空间)
- Ubuntu 14.04下成功安装ffmpeg与编译配置opencv-2.4.10
- Ubuntu 16.04 系统中安装配置 OpenCV 2.4.3 的方法
- Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细
- Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager
- ubuntu下opencv的编译与配置
- 在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码
- 爆详细Ubuntu16.04,CUDA9.1,OpenCV3.1,Tensorflow完全配置指南
- 关于Ubuntu16.04安装opencv2.4.13及编译运行opencv程序的相关问题
- 【深度学习】 Ubuntu16.04 caffe Opencv2.4.13 GPU环境配置
- Ubuntu下安装配置OpenNI, OpenCV
- ubuntu16.04+opencv3.1配置
- Ubuntu下安装配置OpenNI, OpenCV
- ubuntu 16.04 编译opencv3.1,opencv多版本切换
- ubuntu16.04+opencv3.1配置
- ubuntu 12 下安装配置编译使用opencv 2.3.0 全过程
- Ubuntu16.04系统中BusyBox在配置arm交叉编译环境时make失败
- Ubuntu 16.04上用CMake图形界面交叉编译树莓派的OpenCV3.0
- Ubuntu16.04 编译OpenCV 和 Tesseract-OCR