視覺SLAM十四講(三)——SLAM常用庫安裝

1. Eigen線性代數庫的安裝

Eigen庫是一個C++線性代數開源庫[1],它提供了有關線性代數、矩陣和矢量運算、數值分析及相關的算法。許多上層的軟件庫也使用Eigen進行矩陣運算,包括g2o、Sophus等。Eigen庫由Ubuntu軟件源中提供,通過apt命令可以很方便的安裝Eigen。

sudo apt-get install libeigen3-dev

Eigen與其他庫不同,它是一個由頭文件搭建起來的庫,Eigen頭文件的默認安裝位置在“/usr/include/eigen3/”中。我們在使用時,只需引入Eigen頭文件,不需要鏈接它的庫文件,在CMakeLists.txt裏添加Eigen頭文件的目錄。

  • 添加頭文件
include_directories("/usr/include/eigen3")

2. Sophus李代數庫的安裝

Eigen庫提供了幾何模塊,但是沒有提供李代數的支持。一個較好的李代數庫是由Strasdat維護的Sophus庫。Sophus庫支持三維運動的_SO(3)SE(3),此外還支持二維運動的_SO(2)、_SE(2)_和相似變換_Sim(3)_等內容。它是直接在Eigen庫基礎上開發的,因此我們不需要安裝額外的依賴庫。讀者可以直接從github上獲取Sophus庫。

  • 從git上clone庫
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
  • 只需編譯無需安裝
cd XXX       #打開安裝目錄
mkdir build
cd build
cmake ..     #CMake上層目錄
make         #無需安裝
  • CMakelist 使用
#fnd_package指令查找Sophus庫
find_package( Sophus REQUIRED )
include_directories(${Sophus_INCLUDE_DIRS})

add_executable( useSophus useSophus.cpp)   #添加可執行文件
target_link_libraries( useSophus ${Sophus_LIBRARIES} )      #添加鏈接庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章