1.安装依赖项
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
>安装OpenCV3
OpenCV3官方教程:https://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j3
sudo make install
>安装 Eigen3 (3.3.9)
sudo apt remove libeigen3-dev
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
git checkout 3.3.9
mkdir build && cd build
cmake ..
sudo make install
>安装 Pangolin
可以参考官方教程:
https://github.com/stevenlovegrove/Pangolin
sudo apt install -y build-essential cmake git libglew-dev libglfw3-dev libxkbcommon-dev libpython3-dev ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libopenexr-dev liblz4-dev libzstd-dev
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
git checkout v0.7
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wno-error=deprecated-copy -Wno-error=deprecated-declarations"
make -j$(nproc)
sudo make install
> 使用 GCC 9 编译 ORB-SLAM3
安装并且切换到gcc-9(gcc-11编译会报错)
sudo apt install g++-9
export CC=gcc-9
export CXX=g++-9
2.编译ORB_SLAM3
依赖安装完成,现在编译
cd ORB_SLAM3/build
rm -rf *
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
2.运行EuRoC 示例
下载链接
wget -c http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zip
解压到 MH01 文件夹
- 运行示例
修改/ORB_SLAM3/Examples/Monocular/mono_euroc.cc
将代码中这一段的flase改成ture
ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, true);
运行EuRoC 示例:
将 pathDatasetEuroc 替换为您包含 MH01 的数据集路径。运行以下示例
mono_euroc:
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono
mono_inertial_euroc:
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_monoi