安裝基礎庫
sudo apt update
sudo apt install cmake gcc g++ git
sudo apt install pkg-config
建立原始碼目錄
在 home 目錄下新建 repos
資料夾用於存放原始碼。
cd ~
mkdir repos
安裝 eigen3 3.2.10
安裝 eigen 3.2.10 版本。
cd ~/repos
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
git checkout 3.2.1
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
sudo cmake --build . --target install
解除安裝方法:
eigen3 是僅頭部庫,沒有 uninstall
指令碼。
sudo rm -rf /usr/local/share/pkgconfig/eigen3.pc
sudo rm -rf /usr/local/include/eigen3/
安裝 Pangolin 0.6
安裝依賴:
# Glew
sudo apt install libglew-dev
# Wayland
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
# FFMPEG (For video decoding and image rescaling)
sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
# DC1394 (For firewire input)
sudo apt install libdc1394-22-dev libraw1394-dev
# libjpeg, libpng, libtiff, libopenexr (For reading still-image sequences)
# libpng12-dev 安裝失敗
sudo apt install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
安裝 Pangolin:
cd ~/repos
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
git checkout v0.6
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
sudo cmake --build . --target install
安裝完成後進行測試:
cd ~/repos/Pangolin/examples/HelloPangolin/
mkdir build && cd build
cmake ..
make
./HelloPangolin
執行成功會顯示一個立方體。
安裝 opencv3
新增額外源
sudo apt-add-repository universe
sudo apt-get update
安裝依賴
sudo apt-get install libglew-dev libtiff5-dev zlib1g-dev libjpeg-dev libpng-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libeigen3-dev libtbb-dev libgtk2.0-dev pkg-config
安裝 opencv
cd ~/repos
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4.16
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
sudo cmake --build . --target install
新增環境變數
1、新增庫路徑
在 /etc/ld.so.conf.d/
目錄下新建檔案 opencv3.conf
。並輸入以下內容:
/usr/local/lib
2、新增環境變數
在 /etc/profile.d
新建檔案 opencv3.sh
。並輸入以下內容:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
3、更新環境變數:
source /etc/profile.d/opencv3.sh
4、驗證安裝是否成功
重啟並輸入命令:
pkg-config --modversion opencv
# 輸出
# 3.4.16
執行測試程式:
cd ~/repos/opencv/samples/cpp/example_cmake/
mkdir build && cd build
cmake ..
make
./opencv_example
安裝 ORB_SLAM2
原庫地址:https://github.com/raulmur/ORB_SLAM2.git
。原庫直接編譯會有一些問題,因此對其做了一些修復,程式碼地址:https://github.com/FLYPoPo7/ORB_SLAM2.git
cd ~/repos
git clone https://github.com/FLYPoPo7/ORB_SLAM2.git
cd ORB_SLAM2
chmod +x build.sh
./build.sh
編譯過程可能會有警告。
測試
下載資料集:Computer Vision Group - Dataset Download (tum.de)
在 ORB_SLAM2 目錄下建立 data 目錄,下載並解壓資料集。
cd ~/repos/ORB_SLAM2/
mkdir data && cd data
wget https://cvg.cit.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.tgz
tar -xvzf rgbd_dataset_freiburg1_xyz.tgz
# 執行資料集
cd ~/repos/ORB_SLAM2/
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz
執行成功如下截圖如下:
參考
主要參考
Ubuntu20.04配置ORBSLAM2並執行(保姆級教程)_在ubuntu20.04上安裝並執行orb-slam2(保姆級教程)-CSDN部落格
OpenCV 按照以下的來,主要是配置環境變數
【OpenCV 】Ubuntu系統下配置安裝OpenCV開發環境_ubuntu opencv環境變數配置-CSDN部落格
踩坑參考
Ubuntu18.04下執行ORB-SLAM2踩坑記
WSL 特殊的坑
【環境配置】Windows 11 的 WSL(Ubuntu2204) 安裝OpenCV 4.5.4 (親測有效)_libdc1394-dev : 衝突: libdc1394-22-dev 但是 2.2.5-2.1 -CSDN部落格
其他參考
ORB SLAM3 和 資料集
【演算法】跑ORB-SLAM3遇到的問題、解決方法、效果展示(環境:Ubuntu18.04+ROS melodic)_fail to track local map!-CSDN部落格