1. 程式人生 > 實用技巧 >視覺SLAM第三方庫的安裝(ubuntu16.04環境,基於《視覺SLAM十四講》)

視覺SLAM第三方庫的安裝(ubuntu16.04環境,基於《視覺SLAM十四講》)

1、安裝Eigen

sudo apt-get install libeigen3-dev

2、安裝Sophus

Sophus 庫是 Strasdat 維護的一個較好的李代數庫,《視覺SLAM十四講》使用非模板的 Sophus 庫。可以輸入以下命令獲得非模板類的 Sophus:

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff

Sophus庫只需編譯,不需安裝,在根目錄下的終端,輸入:

mkdir build
cd ./build
cmake ..
make

3、安裝OpenCV

先來安裝 OpenCV 的依賴項:

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev
libopenexr-dev libtbb-dev

OpenCV下載地址:http://opencv.org/downloads.html選擇 OpenCV for Linux 版本,獲得一個像 opencv-3.1.0.zip 這樣的壓縮包

解壓縮後,進入檔案根目錄,執行:

mkdir build
cd ./build
cmake ..
make (或者make -j4)
sudo make install 

備註:

OpenCV的解除安裝方法,進入build資料夾,執行:

sudo make uninstall

4、點雲庫的安裝較為容易,只需執行:

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

5、Ceres安裝

安裝依賴項:

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev  

Ceres下載地址:https://github.com/ceres-solver/ceres-solver

git clone https://github.com/ceres-solver/ceres-solver

編譯並安裝Ceres,進入檔案根目錄,執行:

mkdir build
cd ./build
cmake ..
make
sudo make install

備註(摘錄自https://www.cnblogs.com/didada/p/12305066.html

Ceres安裝可能會出現以下錯誤:

在安裝Ceres庫cmake時報錯提示找不到Eigen3.3,在對應的CMakeLists.txt中可以看到,由於BA優化在小於3.3.4版本的Eigen中可能失敗,所以要求Eigen的版本不小於3.3.4。

解決方法

解除安裝原來的Eigen,安裝3.3.4之後的新版本:

(1)首先解除安裝Eigen,定位到相關檔案,直接手動刪除

sudo updatedb  
locate eigen3 
sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

然後下載安裝3.3.4版本之後的Eigen,apt-get不能指定Eigen版本,這裡推薦手動安裝,下載地址https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz

安裝依賴項:

sudo apt-get install libopenblas-dev
sudo apt-get install --no-install-recommends libboost1.58-all-dev sudo apt-get install libx11-dev sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install doxygen sudo apt-get install cmake sudo wget https://nchc.dl.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz --no-check-certificate sudo tar -xzvf glew-2.1.0.tgz cd glew-2.1.0/ sudo make sudo make install sudo ldconfig -v

編譯安裝:

mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig -v

apt-get安裝eigen3的路徑為/usr/include/eigen3,這裡也保持一直;此外,需使用下面命令將Eigen對映到 /usr/include 路徑下,因為在很多程式中include時經常使用#include <Eigen/Dense>而不是使用#include <eigen3/Eigen/Dense>,不對映的話一些程式在編譯時會因找不到Eigen/Dense而報錯:

sudo cp -r /usr/local/include/eigen3 /usr/include/eigen3 
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

然後再安裝Ceres就不會報錯了。

6、安裝g2o

下載地址:https://github.com/RainerKuemmerle/g2o

git clone https://github.com/RainerKuemmerle/g2o

安裝依賴:

sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6

編譯安裝:

mkdir build
cd ./build
cmake ..
make
sudo make install