ubuntu18.04 安装 ORB-SLAM2
依赖: Pangolin 、 OpenCV 、 Eigen 、 g2o 与 DBoW2 ( ORB-SLAM2 自带)
安装准备
sudo apt-get install vim
sudo apt-get install git
sudo apt-get install gcc g++
gcc / g++ 版本 7.5.0
cmake 版本 3.21.2,安装方法
源码安装Pangolin v0.5
(1)安装依赖
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
(2)安装Pangolin v0.5,Pangolin/releases/tag/v0.5下载地址
unzip /path/to/Pangolin-0.5.zip
cd Pangolin-0.5
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j4
sudo make install
源码安装OpenCV-3.4.5
(1)安装依赖
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libswscale-dev
ubuntu16.04 安装下面的依赖
sudo apt-get install libtiff4.dev libjasper-dev
ubuntu18.04安装下面的依赖
sudo apt-get install libtiff5.dev
// 测试发现不装后面的依赖也可以正常安装
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper-dev libjasper1
(2)安装OpenCV-3.4.5 百度网盘地址 提取码: slam
解压
cd opencv-3.4.5
mkdir build
cd build
cmake ..
make -j4
sudo make install
(3)配置环境变量
sudo vim /etc/ld.so.conf.d/opencv.conf
在打开的空白文件中添加 /usr/local/lib (检查一下该路径下是否有OpenCV的各种依赖库)
执行 sudo ldconfig ,使配置的环境变量生效
(4) 配置 .bashrc ,末尾添加下面两行
//打开.bashrc
sudo vim /etc/bash.bashrc
//添加以下两行内容到.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
(5)source 与 update
source /etc/bash.bashrc
sudo updatedb
(6)测试是否正常安装 (成功会出现带 “hello opcv” 字样的窗口)
cd opencv-3.4.5/samples/cpp/example_cmake
cmake .
make
// 如果成功或弹出窗口,显示Hello OpenCV
./opencv_example
源码安装eigen-3.3.7
(1)源码下载地址
unzip /path/to/eigen-3.3.7.zip
cd eigen-3.3.7
mkdir build
cd build
cmake ..
sudo make install
#安装后 头文件安装在/usr/local/include/eigen3/
#移动头文件
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
备注:在很多程序中 include 时经常使用 #include <Eigen/Dense> 而不是使用 #include
<eigen3/Eigen/Dense> 所以要做下处理
安装运行ORB-SLAM2
(1)中文注释版本
修改CMakeLists.txt, 添加两个搜索路径
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/tmr/Downloads/slam/eigen-3.3.7/build")
find_package(Eigen3 3.1.2 REQUIRED)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/tmr/Downloads/slam/Pangolin-0.5/build")
find_package(Pangolin REQUIRED)
cd ORB_SLAM2
chmod +x build.sh
./build.sh