一、驱动与cuda安装
#安装驱动与cuda8.0
参考这篇:https://blog.csdn.net/ffcjjhv/article/details/89151382
二、配置
1、依赖包
1 | sudo apt-get install cmake cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev |
2、openjdk-7-jdk
1 | sudo add-apt-repository ppa:openjdk-r/ppa |
3、OpenGL
1 | sudo apt-get install build-essential libgl1-mesa-dev |
三、代码编译
#download ElasticFusion
GitHub地址:https://github.com/mp3guy/ElasticFusion ,解压到ElasticFusion/ElasticFusion-master
1 | cd ElasticFusion |
1、安装 Pangolin
1 | git clone https://github.com/stevenlovegrove/Pangolin.git |
2、安装 OpenNI2
1 | git clone https://github.com/occipital/OpenNI2.git |
3、配置 ElasticFusion
(1)build Core
1 | cd ElasticFusion-master/Core |
(2)build GPUTest
1 | cd GPUTest |
(3)build GUI
1 | cd GUI |
四、 运行
1、数据集离线运行
下载数据集: http://www.doc.ic.ac.uk/~sleutene/datasets/elasticfusion/dyson_lab.klg ,放到ElasticFusion/ElasticFusion-master/GUI/build
,并运行
1 | ./ElasticFusion -l dyson_lab.klg |
#运行结果
2、在Kinect v1上实时运行
(1)build libFreenect
1 | cd ElasticFusion |
打开libfreenect/CMakeLists.txt
,在33行cmake_minimum_required(VERSION 2.8.12)
下一行添加
1 | add_definitions(-std=c++11) |
保存后关闭,命令行继续执行
1 | mkdir build && cd build |
注:${OPENNI2_DIR}
是OpenNI2的解压文件夹,比如我的在ElasticFusion文件夹,则
(2)Kinect v1接入
打开libfreenect
文件夹,运行
1 | sudo cp platform/linux/udev/51-kinect.rules /etc/udev/rules.d |
重启后,插上kinect后,命令行运行lsusb
,查看是否包含:Xbox camera,Xbox motor,Xbox audio
(3)修改GPUConfig.h
如果代码运行很慢且出现如下提示,需要修改修改GPUConfig.h
在ElasticFusion/ElasticFusion-master/GPUtest/build
文件夹运行
1 | ./GPUTest ../ |
将最后4行添加到/ElasticFusion/ElasticFusion-master/Core/src/Utils/GPUConfig.h
(4)运行
打开ElasticFusion/ElasticFusion-master/GUI/build
,运行
1 | ./ElasticFusion |
#运行结果