码迷,mamicode.com
首页 > 其他好文 > 详细

ORB-SLAM2的安装和运行流程

时间:2019-04-15 23:11:44      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:ase   opencv2   release   指令   building   运行   root   UNC   virtual   

一、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的安装和运行流程

标签:ase   opencv2   release   指令   building   运行   root   UNC   virtual   

原文地址:https://www.cnblogs.com/excellentlhw/p/10713017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!