配置环境

vs2015,windows10(x64,我的所有配置都为x64)

一、安装libfreenect

1.https://github.com/OpenKinect/libfreenect2,下载libfreenect2,解压。

2.https://github.com/daynix/UsbDk/releases,下载UsbDk,我的是UsbDk_1.0.15_x64.msi,下载后安装。

3.http://zadig.akeo.ie/,下载zadig_2.2.exe,然后运行,在菜单里选择List All Devices,去掉ignore hubs of composite pasent选项,选择libusbk(v3.0.7.0),然后install。安装好后,可在设备管理器中查看到。

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

4.编译libusb,在libfreenect2-master\depends文件夹下,运行对应版本的cmd文件,我的是install_libusb_vs2015.cmd。在如图所示文件夹下,生成对应版本的vs解决方案。

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

用对应版本的vs打开,我在x64下生成。

5.http://sourceforge.net/projects/libjpeg-turbo/files 下载安装TurboJPEG1.5.1,安装到D:\libfreenect2-master\depends\libjpeg-turbo64,环境变量中添加路径,如下:

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

6.http://www.glfw.org/download.html ,下载GLFW,安装到安装到D:\libfreenect2-master\depends\glfw,环境变量中添加路径,如下:

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

7.http://structure.io/openni下载OpenNI-Windows-x64-2.2.msi,安装到默认路径。

8.cmake生成工程。在cmd中,进入libfreenect2_master文件夹,在命令窗口输入

mkdir build && cd build

cmake .. -G "Visual Studio 14 2015 Win64"

cmake --build . --config RelWithDebInfo --target install

连接相机,运行D:\libfreenect2-master\build\install\bin\Protonect.exe,验证是否安装成功。如果无法打开,

到这里下载:https://github.com/OpenKinect/libfreenect2/issues/580,将下载的预编译好的dll文件和exe文件替换libfreenect2下bin中的dll和exe即可。

测试openni2是否可用。打开C:\Program Files\OpenNI2\Tools\NiViewer.exe,如果打不开,就把tools/Openni2/Drivers下的dll文件(freenect2-openni2.dll, libusb-1.0.dll, glfw.dll, turbojpeg.dll等统一替换成libfreenect2/build/bin编译好的文件即可)

二、infiniTAM的配置

1.需要的安装包

Cuda 8.0 - https://developer.nvidia.com/cuda-80-ga2-download-archive (里边有两个东西要安)

InfiniTAM工程包 - https://github.com/victorprad/InfiniTAM (可以看到支持 Intel 的 realsense)

freeglut 3.0 - http://freeglut.sourceforge.net/index.php#download

2.编译freeglut

打开CMake,设置好路径,点击Configure,Configure done后Generate

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

vs打开生成的sln项目,生成 ALL_BUILD,然后生成 INSTALL,生成INSTALL的时候我报了个错如下,解决方法就是右键 INSTALL,“属性” -> “生成事件” -> “后期生成事件” -> “在生成中使用”,改为 “否”。(后边还有这样的 error MSB3073: 命令 setlocal 。。的问题都这么解决)。重新生成后,应该可以看到

 

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

生成成功后,在freeglut文件夹会有freeflut.libGL文件夹;

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

3.编译InfiniTAM

同样方式CMake InfiniTAM,将glut目录手动修改到freeglut编译的地方,并将 WITH 中 “WITH_OPENNI” 选上,添加openni2的位置,Configure,生成。

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

vs打来生成的sln工程,环境设置为release模式,生成过程中有提示重新加载,选择 “全部重新加载” 就行。最后还是会出现error MSB3073: 命令 setlocal 。。的问题,将 “InfiniTAM” 的 “属性” -> “生成事件” -> “后期生成事件” -> “在生成中使用”,改为 “否” 即可。

4.测试InfiniTAM

首先从 http://www.robots.ox.ac.uk/~victor/infinitam/files/teddy_20141003.zip 下载 Teddy 模型文件,包括每一帧的彩色图和深度图,以及一个calib.txt文件,表示相机参数,我的cmd指令为:

D:\InfiniTAM\InfiniTAM\build\Apps\InfiniTAM\Release\InfiniTAM.exe D:\InfiniTAM\Teddy\calib.txt D:\InfiniTAM\Teddy\Frames\%04i.ppm D:\InfiniTAM\Teddy\Frames\%04i.pgm

效果截图如下:

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

因为InfiniTAM程序中调用了kinectSDK,所以还需要我们下载Kinect for Windows SDK 2.0,https://www.microsoft.com/en-us/download/details.aspx?id=44561。注意在安装时需要断开kinect相机的连接。安装完成后

安装完成后,添加新项目属性表,配置环境(我单独保存配置,每次需要使用时再添加进去),如图:

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

包含目录和库目录中添加刚才sdk的路径,然后在链接器->输入->附加依赖项添加Kinect20.lib。

连接kinect2,测试InfiniTAM的效果,个人的理解是,InfiniTAM调用Kinect for Windows SDK,那么就需要官方的驱动,因此在设备管理器中卸载我们安装的驱动,卸载后重新扫描自动安装官方驱动。运行程序,结果还是no devices found,或者出现“找不到OpenNI2.dll..” ,把 “C:\Program Files (x86)\OpenNI2\Redist” 目录下的所有文件赋值粘贴到  “...../InfiniTAM-master\InfiniTAM\build\Apps\InfiniTAM\Release” 下,这里放的就是刚才生成的exe文件。

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

Windows10+Kinect2+libfreenect+infiniTAM 安装记录

运行成功。

 

相关文章:

  • 2021-07-05
  • 2021-06-05
  • 2021-07-29
  • 2021-12-05
  • 2022-01-02
  • 2021-07-01
  • 2021-08-08
猜你喜欢
  • 2022-12-23
  • 2021-04-20
  • 2022-12-23
  • 2022-01-11
  • 2021-11-07
  • 2021-05-27
  • 2021-07-12
相关资源
相似解决方案