視覺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