之前决定将ElasticFusion在Kinect v2上覆现后,碰到了诸多问题,经过将近两个礼拜的摸索,现在将自己的心得写下,帮助大家少走弯路。
这一节我们先说libfreenect2配置,为什么要配置libfreenect2呢,那是因为可以将kinect v2的图像信息经过openni2读取出来。
1.首先我们要下载libfreenect2源码,地址:
https://github.com/OpenKinect/libfreenect2/
这里切记,下载master版本,(我之前下载的2.0版本,通过install_libusb_vs201X.cmd这些命令时没有出现libusb文件夹,折腾了我好久)
2.接下来安装UsbDk,地址:https://github.com/daynix/UsbDk/releases 直接点击安装即可。
3.不过,虽然官网上说安装UsbDk和安装libusbk两个选一个,我个人还是建议安装libusbk的。
· libusbk地址:http://zadig.akeo.ie/ 下载 Zadig。
· 在Zadig界面Options选项中选择“List all Devices” ,取消“Ignore Hubs or Composite Parents”。
· 在第一个选项框中选择”Xbox NUI Sensor(composite parent)” 或“Xbox NUI Sensor” 。箭头指向的框体中选择libusbk(v3.0.7.0或者更新版本)。
最后点击 “Replace Driver”或“Install Driver”。因为我之前已经安装过了所以是replace ,到这里libusbk就安装完成。
4.接下来我们生成libfreenect2解决方案
下载并安装git:https://github.com/git-for-windows/git/releases/download/v2.12.2.windows.2/Git-2.12.2.2-64-bit.exe
安装时记得选择Run git from the Windows Command Prompt和Check out Windows style, commit Unix-style line endings 。
地址:https://sourceforge.net/projects/libjpeg-turbo/files/ ,我下载的是1.53。
直接安装即可,然后设置环境变量:TurboJPEG_ROOT 地址:C:\libjpeg-turbo64(默认应该是安装在这个路径下)。
6.安装64位GLFW
地址:http://www.glfw.org/download.html 下载后解压到/depends/glfw下,并设置环境变量:GLFW_ROOT
7.安装opencl
地址: https://software.intel.com/en-us/intel-opencl 这个需要注册一下才能下载。直接安装即可
8.安装openni2
地址:http://structure.io/openni 按照默认设置就好
9.用CMake进行构建
在libfreenect2解压路径下新建build文件夹,
Where is the source code设置为..\解压路径
Where to build the binaries设置为 ..\解压路径\build
按“Configure”,弹出的窗口选择Visual Studio 12 2013 Win64
之后“Generate”
用VS2013打开libfreenect2.sln ,将INSTALL设为启动项,生成项目。
随后打开..\解压路径\build\bin\Debug中打开Protonect.exe 就可以看到成果图了。