ORB-SLAM2\ORB-SLAM3配置中出现的问题

以下问题可能ORB-SLAM2、ORB-SLAM3都会出现,我就以2为例子啦。
正文:
第一个问题,是安装opencv,我发现我根据CSDN中的方法安装opencv会出现很多错误,这里我贴一个官方的安装方法,真的好使!!
解决办法1(根据官方方法安装opencv): opencv3.4.4.
第二个问题,我一直出现的,当时安装orb-slam2的时候会出现

其中pangolin中的一个signalhpp文件一直出错,具体错误为“……was not declared in this scope”
解决办法2.1:降级pangolin到0.5,代码如下

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin 
mkdir build 
cd build 
cmake -DCPP11_NO_BOOSR=1 .. 
make -j

解决办法2.2
添加c++11或者c++14的使用
(orb-slam3是缺少c++14,而orb-slam2好像缺少的是c++11)
如ORB-SLAM3中只有c++11的语法许可,库里面使用的是c++14的标准语法,没有14的,这就造成了冲突。
我们打开ORB_SLAM3/CMakeLists.txt,然后添加从++14使用许可(如果没有11就把14改成11添加)

gedit ./CMakeLists.txt
add_compile_options(-std=c++14)

为什么这里出现两个解决办法,因为我是一起改了这两个问题,然后我的ORB-SLAM2、ORB-SLAM3都编译成功了,但是我估计是2.1解决方法更符合一点,但是两个都改应该没错。

这是成功的图片。

第三个问题,是eigen文件报错缺少

解决方法3.1

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

当调用 eigen 库时,会报错:fatal error: Eigen/Core: No such file or directory这是因为 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下,需使用下面命令映射到 /usr/include 路径下

解决方法3.2:如解决方法2.1一样降级pangolin。
这里也有两个解决方法是我的问题3.1就解决了,但是我看了其他博客的问题3.2也能解决类似的,所以就加上了


我的问题比较困难的是以上几个问题,其他的问题百度一下基本就能搜到。
成功跑通数据集:
orb-slam2上跑通

orb-slam3上跑通

以上就是我安装orb-slam2\3中出现的问题,至于为什么有2还装3,是因为问题二,一直卡着我,然后我就试试3行不行。

你可能感兴趣的:(linux,图像处理)