参考博客:http://qiqitek.com/blog/?p=55【链接】
这几天换了台笔记本 ubuntu下nvidia的显卡各种问题,折腾了几天。刚刚配置好,根据别人的博客跑了下ORBSLAM2的Demo;
下面大概介绍下具体的过程;
step1:安装Pangolin;
Pangolin是一个管理OpenGL显示/交互和抽象视频输入的小型可移植的库文件。
安装Pangolin之前 ,请先按照一下的命令安装一些依赖的库
sudo apt-get install libglew-dev cmake libboost-dev libboost-thread-dev libboost-filesystem-dev libpython2.7-dev
然后再安装Pangolin(源码安装):
git clone https://github.com/stevenlovegrove/Pangolin.git
(默认的路径在home下;你也可以更改到自己合适的路径,然后cd进去;)
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j4
step2:下载安装opencv
(已经正确安装的直接忽略下面的);推荐版本2.4.13;百度云下载地址:链接
还是需要安装一些依赖项:
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
把OpenCV解压到下载目录中,用cmake编译再安装.
cd opencv-2.4.13
mkdir build
cd build
cmake ..
make
sudo make install
step3 安装Eigen
Eigen是一个高层次的C ++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩阵分解及其几何特征的求解;它不支持的模块生态系统[2] 提供了许多专门的功能,如非线性优化,矩阵功能,多项式解算器,快速傅立叶变换等。
sudo apt-get install libeigen3-dev
(ORB_SLAM2 要求的eigen版本至少是3.1.0以上的版本)
step4 安装BLAS and LAPACK
请使用以下指令安装这两个库
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
step5 安装ORB-SLAM2(尽量使用下面git的地址下载,因为有的包被修改了一些第三方的依赖包编译不过去会报错)
git clone https://github.com/raulmur/ORB_SLAM2.git
cd ORB_SLAM2
chmod +x build.sh
./build.sh
下载并运行TUM(慕尼黑工业大学)的数据集:
http://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.tgz
下载的压缩包一般在Downloads文件夹下,我们需要把它放到ORB_SLAM2/Examples下并解压:
然后cd ~/ORB_SLAM2/
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz
得到图1:
接着还可以运行RGB-D数据:
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz Examples/RGB-D/associations/fr1_xyz.txt