ORB-SLAM2安装及无ROS下运行RGB-D实例
- 0 准备工作
- 1 安装Pangolin
- 3 安装OpenCV
- 4 安装Eigen3
- 5 安装g2o和DBoW2的依赖项
- 6 安装ORB_SLAM2
- 7 下载TUM RGB-D数据集进行练习
- 附录:相关bug处理
0 准备工作
安装git、vim、g++、gcc、cmake工具
$ sudo apt-get install git
$ sudo apt-get install vim
$ sudo apt-get install g++
$ sudo apt-get install gcc
$ sudo apt-get install cmake
1 安装Pangolin
Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。
(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
$ sudo apt-get install build-essential
(2)从github下载项目
$ git clone https://github.com/stevenlovegrove/Pangolin.git
(3)编译安装
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake ..
$ make -j
$ sudo make install
3 安装OpenCV
(1)安装依赖项
1)安装编译工具
$ sudo apt-get install build-essential
2)安装依赖包
$ sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
3)安装可选包
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install pkg-config
(2)下载OpenCV 2.4.13.6
$ git clone https://github.com/opencv/opencv.git
也可以下载对应的zip并解压
$ wget https://github.com/Itseez/opencv/archive/2.4.13.6zip
$ unzip 2.4.13.6zip
(3) 编译安装
$ cd opencv-2.4.13.6
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
$ make
$ sudo make install
(4) 配置OpenCV环境变量
1)将opencv的库加入到路径
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件末尾加上/usr/local/lib
,保存退出
2)使配置生效
$ sudo gedit /etc/bash.bashrc
末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
保存退出
$source /etc/bash.bashrc
(5)测试实例
下载Lena.jpg放在OpenCV_test文件夹
$ ./test Lena.jpg //运行
4 安装Eigen3
(1) 安装Eigen库
$ sudo apt-get install libeigen3-dev
(2) 寻找Eigen3头文件
$ sudo updatedb
$ locate eigen3
找到位置在/usr/include/eigen3
(3) 调用Eigen库
Eigen库全部由头文件组成要使用Eigen库
在cmake工程中的CMakeLists.txt
文件中指定Eigen的头文件目录:
include_directories("/usr/include/eigen3