視覺SLAM十四講庫安裝

1、Eigen線性代數庫的安裝

  Eigen庫是一個C++線性代數開源庫,它提供了有關線性代數、矩陣和矢量運算、數值分析及相關的算法。

        Eigen庫由Ubuntu軟件源提供,通過apt命令可以很方便的安裝Eigen

                                     sudo apt-get install libeigen3-dev

  使用Eigen時,在CMakeLists.txt裏添加Eigen頭文件的目錄,也就是添加 

                                    include_directories("/usr/include/eigen3")

2、Sophus李代數庫的安裝

       Sophus庫是一個李代數庫,它是直接在Eigen庫基礎上開發的,因此我們不需要安裝額外的依賴庫。

      可以通過輸入以下命令獲得非模板類的Sophus庫:

                                 git clone https://github.com/strasdat/Sophus.git
                                 cd Sophus                                 #進入Sophus文件夾
                                 git checkout a621ff                       #檢查a621ff版本

      由於Sophus庫是一個Cmake工程,所以需要進行編譯,使用以下命令:

                               cd Sophus                   #進入Sophus文件目錄下
                               mkdir build                 #新建build文件夾
                               cd build                    #進入build文件夾
                               cmake ..                    #build上一層目錄下執行CMake命令
                               make                        #編譯
    使用時需要在CMakeLists.txt中添加Sophus庫的頭文件和庫文件,幷包含目錄

                              find_package( Sophus REQUIRED )                       #尋找庫頭文件和庫文件
                              include_directories( ${Sophus_INCLUDE_DIRS} )         #包含頭文件目錄
                              target_link_libraries( 工程名 ${Sophus_LIBS})

3、OpenCV計算機視覺庫

       OpenCV提供了大量的開源視覺算法庫,是計算機視覺中使用極其廣泛的圖像處理算法庫。

       首先我們安裝一些依賴項:

        sudo apt-get install  python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
   sudo apt-get install freeglut3-dev mesa-common-dev  libgtkglext1 libgtkglext1-dev
   sudo apt-get install checkinstall yasm libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libgtk2.0-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils  ffmpeg
sudo apt-get install libatlas-base-dev gfortran qt5-default qtcreator
       爲了使用VIZ模塊(默認不安裝)我們還需要安裝VTK。VTK下載地址:https://www.vtk.org/download/
       下載VTK後進入文件夾,在文件夾下打開終端,輸入命令:
                                              mkdir build                    #創建新的文件夾build
                                              cd build                       #進入build文件夾
                                              cmake ..                       
                                              make                           #編譯
                                              sudo  make install             #安裝

       下載opencv,源碼下載地址: https://github.com/opencv/opencv/tree/3.4.1

       然後編譯安裝Opencv庫,在Opencv文件夾下打開終端,輸入命令:

                                              mkdir build                    #創建新的文件夾build
                                              cd build                       #進入build文件夾
                                              cmake -DWITH_VTK=ON ..                        
                                              make                           #編譯
                                              sudo  make install             #安裝

      使用Opencv時,需要在CMakeLists.txt中添加

                              find_package( Opencv REQUIRED )                       #尋找庫頭文件和庫文件
                              include_directories( ${Opencv_INCLUDE_DIRS} )         #包含頭文件目錄

                              target_link_libraries( 工程名 ${Opencv_LIBS})

4、PCL點雲庫

     首先安裝一些依賴項,打開終端,輸入命令:

                          sudo apt-get update  
                          sudo apt-get install git build-essential linux-libc-dev  
                          sudo apt-get install cmake cmake-gui   
                          sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
                          sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
                          sudo apt-get install libflann1.8 libflann-dev  
                          sudo apt-get install libeigen3-dev  
                          sudo apt-get install libboost-all-dev  
                          sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev  
                          sudo apt-get install libqhull* libgtest-dev  
                          sudo apt-get install freeglut3-dev pkg-config  
                          sudo apt-get install libxmu-dev libxi-dev   
                          sudo apt-get install mono-complete  
                          sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre 

     然後下載源碼:

 
                          git clone https://github.com/PointCloudLibrary/pcl.git

      最後編譯安裝,在PCL文件夾下打開終端,輸入命令:

                         mkdir build  
                         cd build  
                         cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON  -DCMAKE_INSTALL_PREFIX=/usr ..  
                         make
                         sudo make install 

     使用PCL時,需要在CMakeLists.txt中添加:
                        find_package( PCL REQUIRED COMPONENT common io )
                        include_directories( ${PCL_INCLUDE_DIRS} )
                        add_definitions( ${PCL_DEFINITIONS} )
                        target_link_libraries( 工程名根據實際情況添加 ${PCL_LIBRARIES} )

5、Ceres非線性優化庫

    Ceres庫是來自谷歌的非線性優化庫,Ceres庫面向通用的最小二乘問題求解。
    首先安裝一些依賴項,在終端輸入命令:
  sudo apt-get install liblapack-dev libsuitesparse-dev libatlas-base-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

    如果找不到部分庫,則使用以下辦法:

  (1)使用命令打開source.list

sudo gedit /etc/apt/sources.list

  (2)將下面的源粘貼到source.list的最上方

deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

  (3)使用下列命令更新源:

sudo apt-get update
   (4)  繼續使用 sudo apt-get install 命令安裝未安裝的依賴項

   依賴項安裝完成後下載Ceres,下載地址:https://github.com/ceres-solver/ceres-solver

   最後進入Ceres文件夾,打開終端,輸入命令:

 
                               mkdir build
                               cd build
                               cmake ..
                               make
                               sudo make install

    在使用Ceres庫時需要在CMakeLists.txt中添加:
                 # 添加cmake模塊以使用ceres庫
                 list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules )
                 # 尋找Ceres庫並添加它的頭文件
                 find_package( Ceres REQUIRED )
                 include_directories( ${CERES_INCLUDE_DIRS} )
                 target_link_libraries( 工程名 ${CERES_LIBRARIES} )

  6、G2O圖優化庫

    首先安裝一些依賴項:

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

    然後下載g2o:https://github.com/RainerKuemmerle/g2o

    最後進入g2o文件,打開終端,輸入命令

                                mkdir build
                                cd build
                                cmake ..
                                make
                                sudo make install

    在使用g2o庫時,需要在CMakeLists.txt中添加:

                               find_package( G2O REQUIRED )
                               include_directories( ${G2O_INCLUDE_DIRS})
                               target_link_libraries( 工程名 g2o_core g2o_stuff)

    注意:如果使用視覺SLAM十四講中的代碼,出現如下錯誤:

  error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(Block*&)’

    則是使用的g2o庫不同,需要將

 
    Block* solver_ptr = new Block( linearSolver );      // 矩陣塊求解器
    g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );

改成:

 
    Block* solver_ptr = new Block( unique_ptr<Block::LinearSolverType>(linearSolver) );      // 矩陣塊求解器
    g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( unique_ptr<Block>(solver_ptr) );

這樣就可以編譯成功了。






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