ElasticFusion編譯過程(Ubuntu16.04)--一次編譯失敗的經驗(

部分內容轉自https://blog.csdn.net/jthree2012/article/details/80837661

ElasticFusion編譯過程(Ubuntu16.04)

1. ElasticFusion簡介

ElasticFusion是三維重建領域效果比較顯著的開源庫,其作者爲Facebook Reality Labs的Thomas Whelan博士。ElasticFusion的github源碼主頁,是本次編譯過程的主要參考資料。

2. 編譯前準備

2.1 硬件配置

本文使用的硬件配置如下: 
+ Intel i7
+ NVIDIA GeForce940MX(GPU太差了) 

2.2 庫依賴

sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-7-jdk freeglut3-dev libglew-dev libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev 

很多我都已經配好了 只把那些沒安裝了安了 大概是cmake-qt-gui git  openjdk-7-jdk 這三個 build-essential不確定

2.2.1 因爲cuda我已經安裝過了 是cuda9.0 步驟在另外一篇博客裏看.

2.2.2 安裝openjdk-7-jdk的時候找不到該文件,參考鏈接

sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update
  • 安裝openNI(不是官方版本,而是occipital的fork版本 )

cmake ..
CMake Error: The source directory "/home/zbq/append/OpenNI2" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
zbq@zbq-TP:~/append/OpenNI2/build$ make -j8
make: *** 沒有指明目標並且找不到 makefile。 停止。
zbq@zbq-TP:~/append/OpenNI2/build$ make
make: *** 沒有指明目標並且找不到 makefile。 停止。
zbq@zbq-TP:~/append/OpenNI2/build$ cd ..
zbq@zbq-TP:~/append/OpenNI2$ make -j8
只有這個成功了,make了.本來查了半天不知道怎麼辦,因爲跟參考鏈接步驟不一樣 發現官網就是這樣的,索性就這樣了

參考鏈接的編譯命令:(我沒使用)

git clone https://github.com/occipital/OpenNI2 
cd OpenNI2 
mkdir build && cd build 
cmake .. //我從這裏開始報錯
make -j8 
sudo make install 
sudo ldconfig 

官方有這麼一句話,我不知道是幹嘛的: Note, you may need to manually tell CMake where OpenNI2 is since Occipital’s fork does not have an install option. It is important to build Pangolin last so that it can find some of the libraries it has optional dependencies on. *

  • 安裝Pangolin (我把以前安裝的/usr/local/include 和/usr/local/lib的pangolin相關的備份後刪除了,然後重新安裝)

Pangolin是對OpenGL進行封裝的輕量級的OpenGL輸入/輸出和視頻顯示的庫。可以用於3D視覺和3D導航的視覺圖,可以輸入各種類型的視頻、並且可以保留視頻和輸入數據用於debug。編譯命令如下: 

git clone https://github.com/stevenlovegrove/Pangolin.git 
cd Pangolin 
mkdir build && cd build 
cmake .. 
make -j8 
sudo make install 

sudo ldconfig 

3. 編譯過程
首先通過git下載源碼,命令如下: 
git clone https://github.com/mp3guy/ElasticFusion.git 
ElasticFusion文件夾中包含三個子文件夾,分別是Core,GPUTest和GUI,編譯順序如下所示。

3.1 Core編譯

參考鏈接的版本

cd ElasticFusion
cd Core
mkdir build && cd build
make -j8
sudo make install
cmake ..
sudo ldconfig
我是在src文件夾裏面新建了build文件夾 然後安裝的

3.2 GPUTest(我的安裝步驟錯了,我先跳到3.3了)

cd ElasticFusion
cd GPUTest
mkdir build && cd build
make -j8 
sudo make install
cmake ..
sudo ldconfig

到了install 哪一步說無法install 我沒管了  因爲這個似乎也不是很需要

3.3 GUI


cd ElasticFusion
cd GUI
mkdir build && cd build
make -j8
sudo make install
cmake ..
sudo ldconfig
在src文件夾裏面新建了build文件夾 然後安裝的
然後報錯說是在core/build裏面找不到東西(因爲我在core/src/build嘛  改了一下cmakelists就好了)


4. 運行datasets

此處下載數據集, 運行命令如下:

cd ElasticFusion
cd GUI/build
./ElasticFusion -l dyson_lab.klg

我的狀況:剛開始報錯,退出再進入就可以不會報錯了,但是出現界面後.卡住不能動,只能重啓.

zbq@zbq-TP:~/append/projects/ElasticFusion/GUI/src/build$ ./ElasticFusion
Creating live capture... failed!
DeviceOpen using default: no devices found
zbq@zbq-TP:~/append/projects/ElasticFusion/GUI/src/build$ 

失敗了 但是應該是可以運行的  說檢測不到器件 界面出來然後卡住了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章