ORB-SLAM2安装与运行

ORB-SLAM2安装与运行

ORB-SLAM2运行环境

ORB-SLAM2的项目地址为https://github.com/raulmur/ORB_SLAM2
作者给出的运行环境为

  • Ubuntu 12.04, 14.04 and 16.04
  • C++11 or C++0x Compiler 一般系统自带
  • Pangolin
  • OpenCV2.4.3 opencv3.2
  • Eigen3
  • DBoW2 and g2o (Included in Thirdparty folder)
  • ROS (optional)

具体的大家可以自行查看github主页,安装完以上环境后即可运行,本教程采用的版本为

ubuntu 18.04
opencv 3.4.5
eigen 3.3.7

亲测可用,在安装以上软件之前,还得先安装一部分其他工具

安装基本工具

安装vim cmake git gcc g++

sudo apt-get install vim cmake git gcc g++

安装pangolin

以下安装过程来自于其项目地址下的readme.md文件说明

  • 安装依赖
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
  • 安装pangolin
git clone <https://github.com/stevenlovegrove/Pangolin.git>
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j
sudo make install

如果国内访问速度过慢,可将以上仓库克隆至gitee,将第一步替换为

git clone 

安装opencv3.4.5

  • 安装依赖
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff5-dev libswscale-dev libjasper-dev

对于ubuntu16.04而言,以上操作不会有问题,18.04的同学在安装libtiff4-dev和libjasper-dev时会出现问题,命令改为

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff5-dev libswscale-dev
sudo add-apt-repository "deb  xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
  • 安装opencv

采用源码安装方式,自行到opencv官网上下载3.4.5的源码
下载后解压,解压后进入目录下,建立build文件夹

cd opencd-3.4.5
mkdir build
cd build
cmake ..
make
sudo make install
  • 配置环境变量
sudo vim /etc/ld.so.conf.d/opencv.conf

在打开的空白文件中添加以下字段

/usr/local/lib

保存退出后执行命令

sudo ldconfig
  • 配置.bashrc
sudo vim /etc/bash.bashrc

在打开的文件末尾添加以下字段

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存退出后执行

source /etc/bash.bashrc
sudo updatedb
  • 测试opencv
cd opencv-3.4.5/samples/cpp/example_cmake
cmake .
make
./opencv_example

成功将打开你的摄像头,并在视频界面显示hello opencv字样

安装Eigen3

源码安装
自行搜索下载eigen-3.3.7

解压文件,进入目录下,建立build文件

cd eigen-3.3.7
mkdir build
cd build
cmake ..
sudo make install

eige是一个由头文件组成的库,头文件路径为

/usr/local/include/eigen3/

当然直接命令行安装也是可以的,请自行搜索

安装与运行ORB-SLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

同理若是访问速度过慢,可以使用gitee

git clone https://gitee.com/ninedayhx/ORB_SLAM2

编译中,若出现错误,则在System.h中,添加头文件

#include 

编译完成后运行

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freburg1_desk

成功运行将先加载字典,然后显示跟踪的画面以及建图

其中最后一个参数为数据集的参数,具体可选用TUM、KITTI等数据集,orb-slam源码中并没有供数据集,需要大家自行下载,下载后解压,最后一个参数为数据集的绝对路径,可以不像我一样把数据集解压放在源码下,只要是数据集的绝对路径即可,我是在源码下新建了一个Data文件夹,并将数据集放在Data文件夹下,注意最后一个斜杠不可加入.

错误示例如下

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freburg1_desk/

数据集下载地址https://vision.in.tum.de/data/datasets/rgbd-dataset/download

其实ORB-slam的作者关于如何运行,在他的github主页下写的非常详细,这篇文章也基本上是他主页的翻译,遇到不同的问题,可自行查看他的主页或者是问问google

下一篇将说明如何将orb-slam2在自己的摄像头上运行,而不是数据集上。如果觉得有价值,请关注我,本教程持续更新

如果觉得这篇文章很好,给你提供了帮助,请给我点一个赞吧
ORB-SLAM2安装与运行_第1张图片

你可能感兴趣的:(ORB-SLAM,OpenCV,cv,linux,c++)