ubuntu20.04安装并运行orb-slam3

下面为我的安装过程,在已有帖子的基础上,加上百度搜索,解决了安装中的问题,并跑通了公开数据集。主要参考了Ubuntu20.04配置ORB-SLAM3环境并运行_宁小健的博客-CSDN博客_orbslam3环境

步骤如下:

1、安装依赖

1.1 pangolin

安装参考了下面博客,安装时我还安装了boost、g++、cmake,其中boost、pangolin是下载后安装的,g++与cmake是直接安装的。

Ubuntu20.04安装Pangolin(视觉SLAM十四讲)_宁小健的博客-CSDN博客_ubuntu20安装pangolin

 1.2 opencv

我安装的是3.4.1版本,详见:
Ubuntu20.04安装OpenCV3.4.1_宁小健的博客-CSDN博客_ubuntu20.04安装opencv

1.3 安装Eigen

sudo apt-get install libeigen3-dev

 1.4 Python2 安装,一定要安装2,不是3.

    sudo apt install python2

1.5 ORB-SLAM3文件包里自带的第三方库,DBow2和g2o

    在DBow2和g2o各自文件夹下

    mkdir build
    cd build
    cmake ..
    make -j4

2 、orbslam3下载与安装

在github或gitee上下载orbslam3包,多下载几个,我是从gitee下载的。比较不同包大小,大小一样的几个为原始的包。安装时有问题,换了另外一个(大小一样几个包中的另一个),就没有问题了。

安装:

 cd ORB_SLAM3
chmod +x build.sh
./build.sh

问题及解决方法:

1) opencv 3.4.1出现如下问题,opencv 3.4.15没有如下问题

/home/xxxx/programfile/orbslam/ORB_SLAM3-master_3/ORB_SLAM3-master/src/LocalMapping.cc:628:49: error: no match for ‘operator/’ (operand types are ‘cv::Matx’ and ‘float’)
  628 |                 x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
      |                                           |            |
      |                                           |            float
      |                                           cv::Matx

解决方法

opencv版本不匹配,改动如下

      改前:x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
        改后:x3D = cv::Matx31f(x3D_h.get_minor<3,1>(0,0)(0) / x3D_h(3),x3D_h.get_minor<3,1>(0,0)(1) / x3D_h(3),x3D_h.get_minor<3,1>(0,0) (2)/ x3D_h(3));

 2)

orbslam/src/System.cc:26:10: fatal error: openssl/md5.h: 没有那个文件或目录
   26 | #include  

解决方法

sudo apt-get install libssl-dev

你可能感兴趣的:(VSLAM,计算机视觉,opencv,自动驾驶,视觉检测,ubuntu)