ORB-SLAM2的安装和运行流程
Posted excellentlhw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORB-SLAM2的安装和运行流程相关的知识,希望对你有一定的参考价值。
一、ORB-SLAM2安装
1.在https://github.com/raulmur/ORB_SLAM2上git clone到当前文件夹内,若想下载到指定文件夹内,就需要cd进入指定文件内,然后再git clone https://github.com/raulmur/ORB_SLAM2
2.安装ORB-SLAM2的依赖项:
sudo apt-get install libopencv-dev libeigen3-dev libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxspares3.1.2 libcholmod-dev
如果运行上述命令终端显示未找到该指令,可以输入部分名字然后用Tab键自动识别或者显示选项。
3.运行build.sh,我会出现以下情况:
(1)编译无法通过,错误信息显示未找到opencv2/cv.h
通过https://blog.csdn.net/sinat_24143931/article/details/78488833,了解到opencv从2.2版本以后<opencv root>include下有两个文件夹 opencv 和opencv2 。从官方的意思来看,它逐渐喜欢用opencv2里面的那种包含头文件的方式。
但是cv.h highgui.h是opencv目录下的头文件。
因此,解决方案就是在/ORB_SLAM2/include/ORBextractor.h里将头文件路径#include<opencv2/cv.h>改为#include<opencv/cv.h>就可以了。
(2)由于电脑配置太低,显示virtual memory exhausted: Cannot allocate memory,编译时会卡住,无法使用多线程编译模式,需要将build.sh中的最后一行make -f改为make -l:
cd Vocabulary tar -xf ORBvoc.txt.tar.gz cd .. echo "Configuring and building ORB_SLAM2 ..." mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -l
(3)在双目.cpp编译时,出现error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
这是因为opencv在3.0之后把CV_LOAD_IMAGE_UNCHANGED改成了IMREAD_UNCHANGED,它定义在cv命名空间内,所以需要加上作用域c::IMREAD_UNCHANGED
详细解释可以看http://docs.opencv.org/3.0.0/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56
二、运行
待更。。
以上是关于ORB-SLAM2的安装和运行流程的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu16.03配置安装及运行ORB-SLAM3(含遇到的坑与注意事项)