视觉SLAM十四讲学习1 环境配置
生活随笔
收集整理的這篇文章主要介紹了
视觉SLAM十四讲学习1 环境配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 前言
- 一、系統設置
- 二、SLAM常用包配置
- 1.Debian常用軟件包
- 2.OpenCV和opencv_contrib包
- 3.SLAM代碼與第三方包
- Kdevelop安裝
- Eigen安裝
- Sophus安裝
- Pangolin安裝
- PCL安裝
- Ceres-solver安裝
- g2o安裝
- Meshlab安裝
- Octomap安裝
- DBoW3安裝
- 總結
前言
這里將記錄一些我學習SLAM十四講的總結心得以及實際操作,包括數學公式和理論推導,以及代碼調試等,會持續不定時的更新
一、系統設置
SLAM代碼需要在Linux下編譯,因此我選擇采用虛擬機配置Debian系統進行環境配置(Ubuntu用太久了換換口味~)
通過VM Workbench + Debian10鏡像創建系統
二、SLAM常用包配置
1.Debian常用軟件包
包括gedit, nano, G++, cmake, git等等常用工具:
sudo apt install gedit nano g++ gcc cmake cmake-gui git gdb2.OpenCV和opencv_contrib包
opencv與contrib安裝較慢,因此先安裝這兩個部分,首先安裝依賴項,
sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libpng-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev libdc1394-22-dev libtiff-dev python-dev python-numpy libtbb2 libtbb-dev這里有一個問題就是libjasper-dev的包被Debian10遺棄了。這個包主要用于JPEG-2000格式的圖片處理,因此我沒有安裝這個包
隨后git clone opencv的官方源碼(如果網速太慢可以選擇gitee上的opencv源)
git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git開始cmake和編譯安裝
cd opencv mkdir build cd build cmake .. -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules/ -D OPENCV_GENERATE_PKGCONFIG=ON make -j2 sudo make install接著需要配置opencv的環境,
# 把opencv庫添加到系統路徑 sudo nano /etc/ld.so.conf.d/opencv.conf # 這是一個空白文件,在后面添加 # /usr/local/opencv/lib sudo ldconfig# #配置pkg-config sudo nano /etc/bash.bashrc # 在末尾添加 # PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig # export PKG_CONFIG_PATH# 更新bash配置 source /etc/bash.bashrc sudo updatedb最后測試一下配置是否正確,
pkg-config --libs opencv4 # 如果出現 -lopencv_core 等一長串鏈接庫則說明配置正確3.SLAM代碼與第三方包
首先git下十四講的代碼和第三方包,
git clone https://github.com/gaoxiang12/slambook2.git cd slambook2 git submodule update --init --recursive cd 3rdpartyKdevelop安裝
sudo apt-get install automake autoconf g++ libtool sudo apt-get install kdevelopEigen安裝
sudo apt-get install libeigen3-dev sudo updatedb locate eigen3Sophus安裝
# 當前路徑在slambook2/3rdparty cd Sophus git checkout a621ff mkdir build cd build cmake .. make -j2 # 這里有個BUG,需要把Sophus/sophus/so2.cpp中的 # unit_complex_.real() = 1. ; # unit_complex_.imag() = 0. ; # 改為 # unit_complex_.real(1.) ; # unit_complex_.imag(0.) ;Pangolin安裝
# 當前路徑在slambook2/3rdparty sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev cd Pangolin mkdir build && cd build cmake .. make -j2 sudo make installPCL安裝
sudo apt-get install libpcl-dev pcl-toolsCeres-solver安裝
# 當前路徑在slambook2/3rdparty sudo apt-get install liblapack-dev libsuitesparse-dev libgflags-dev libgoogle-glog-dev libgtest-dev libcxsparse3 cd ceres-solver mkdir build cd build cmake .. make -j2 sudo make installg2o安裝
# 當前路徑在slambook2/3rdparty sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-headers cd g2o mkdir build cd build cmake .. make -j2 sudo make installMeshlab安裝
sudo add-apt-repository ppa:zarquon42/meshlab sudo apt-get update sudo apt-get install meshlabOctomap安裝
git clone https://github.com/OctoMap/octomap.git sudo apt-get install doxygen-latex doxygen-doc doxygen-gui graphviz libclang1-6.0 cd octomap mkdir build cd build cmake .. make -j2 sudo make installDBoW3安裝
cd DBow3 mkdir build cd build cmake .. make -j2 sudo make install總結
最后總結一下各軟件包的作用:
opencv: 圖像處理
kdevelop: IDE
Eigen: 線性代數、矩陣計算
Sophus: 李代數庫
Pangolin: 3D可視化
PCL: 點云庫
Ceres-solver: 非線性優化庫
g2o: 圖優化
Meshlab: 三維幾何網格處理
Octomap: 地圖創建工具
DBoW3: 圖像特征排序
總結
以上是生活随笔為你收集整理的视觉SLAM十四讲学习1 环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Anaconda日志
- 下一篇: Oracle监听注册和sqlnet,Or