kinectfusion算法用于实时重建地面三维模型,pcl团队将之开源集成在pcl中(kinfu模块)但目前尚未有release版本,kinfu利用Kinect1结合openni1抓取数据,本文章在win10上实现了kinect2结合opencv获取数据,并利用kinfu实现实时三维重建。Kinectfusion介绍点击这里。
kinectfusion.PNG
下文简单记录了配置kinfu的流程。我的配置环境是:
- win10
- VS2010
- opencv 2.4.10
- cuda8.0
配置kinfu之前提前搭建好环境,建议使用VS2010和opencv 2.4.10。cuda网上说安装最新版的,但我个人建议不要装最新版(不是那么稳定)。配置cuda其中我出现的一些问题,主要参考这篇和这篇文章解决。
配置流程
1. 编译pcl-Master
下载pcl-Master源码,然后到pcl官网下载对应的第三方库(比如我是vs2010 x64,故下载Windows MSVC 2010(64bit)对应第三方库),如下图。
Dependencies.PNG
直接安装到默认推荐位置即可,或者安装到pcl-Master源文件目录下的 3rdparty 文件夹中。设置好环境变量,然后用cmake编译pcl-Master,详细步骤可以参考这里和这里。注意,如果第三方库是从官网下载安装的,安装好的程序已经成功编译出include和lib文件,不需要像上面两篇文章那样编译第三方库了。编译pcl-Master时注意修改CMAKE_INSTALL_PREFIX路径为pcl-Master源码所在位置。注意勾选GPU,以及CUDA选项,以及BUILD-gpu-系列选项,(ps:BUILD-gpu-people选项我编译时出错,后来没有勾选该选项)。注意不要勾选openni和openni2选项,否则后面编译PCL_Kinect2Kinfu会报错。
build.PNG