• ubuntu 20.04+ORB_SLAM3 安装并行全记录(无坑版)(一)



    在ubuntu20.04上安装并运行orb_slam3, 网上各种安装教程,一般都会出错。我在此给出一个无坑安装并运行版,亲测可用。

    1. 系统配置

    先给出系统的配置:

     ubuntu: 20.04
     gcc: 9.4.0
     cmake:3.23.2
     opencv: 4.5.5
     eigen3: 3.3.7
    Pangolin: v0.6 (注意:高版本的库不能工作)
    boost: 1.79.0
    ORB_SLAM3: V1.0, December 22th, 2021
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    上述配置是可以正常工作的。
    在这里插入图片描述

    2. 准备工作

    2.1 安装git,g++,python

    ORB SLAM3 使用 C++11 or C++0x Compiler

    sudo apt-get install git
    sudo apt install g++
    sudo apt install libpython2.7-dev
    
    • 1
    • 2
    • 3

    2.2 安装cmake

    不推荐使用自动安装命令,那个安装的版本太老了。一般ubuntu上会自带一个cmake,不过太老了,在此教一个电脑上cmake共存!参见安装方法

    务必确认cmake版本号是3.23.2

    cmake --version
    
    • 1

    3. 安装库

    3.1 安装EIGEN库

    方法一:使用命令安装

    sudo apt-get install libeigen3-dev
    
    • 1

    方法二:使用源码编译安装:
    打开终端输入以下指令:(亲测安装没成功,没有eigen3文件夹)

    git clone https://github.com/eigenteam/eigen-git-mirror
    cd eigen-git-mirror
    mkdir build
    cd build
    cmake ..
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    此处有坑:查看eigen3是否成功安装以及版本:
    应该有文件夹:/usr/include/eigen3,否则没有成功安装;编译orb_slam3时会出现很多错误

    cat /usr/include/eigen3/Eigen/src/Core/util/Macros.h
    
    • 1

    #或者

    cat /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
    
    • 1

    3.2 安装opencv

    我安装的是opencv 4.5.5,测试了,没啥问题,开始:

    • step1:安装依赖项
    sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
    
    • 1
    sudo apt install python3-dev python3-numpy
    sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
    sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
    
    • 1
    • 2
    • 3
    • step2:下载opencv源文件
      从官网下载源码:链接。注意下载source源码。
      在这里插入图片描述

    下载完成后,直接解压到主目录,重命名为:opencv

    • step3:安装opencv:打开终端,输入以下指令:
    cd opencv
    mkdir build
    cd build
    cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
    make -j16 
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    到此,OpenCV就安装好了,然后我们配置一下环境:

    • step 1:查看修改名字

    opencv安装成功后在此目录(/usr/local/lib/pkgconfig/opencv4.pc)下,会有这个opencv4.pc这个文件,如图所示:

    注:我的是opencv.pc,我这是修改后的,因为如果不修改,后面查询opencv版本的时候会报错,无法找到opencv!!!如图所示:

    这个错误是很奇葩的,我网上找了很多方法,设置没有效果,最后发现,这个他需要找的是opencv.pc,所以如果你不改这个名字,再怎么操作也找不到这个文件。

    • step 2:配置 /etc/profile.d/pkgconfig.sh
    sudo gedit /etc/profile.d/pkgconfig.sh
    
    • 1

    在这个文件的最后一行输入:并保存

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    
    • 1

    执行如下命令使得配置生效:

    source /etc/profile
    pkg-config --libs opencv4
    
    • 1
    • 2

    会出现如下界面:

    在这里插入图片描述

    • step 3: 配置 /etc/ld.so.conf/opencv4.conf
    sudo gedit /etc/ld.so.conf.d/opencv4.conf
    
    • 1

    在文件末尾加上:

    /usr/local/lib
    
    • 1
    • step 4: 更新系统库:
    sudo ldconfig
    
    • 1
    • step 5: 添加环境路径:

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    echo $PKG_CONFIG_PATH

    确认查看opencv的版本号:

    pkg-config --modversion opencv
    
    • 1

    测试opencv:
    .使用opencv自带smaple测试是否安装成功

    1. cd到opencv-主文件夹/samples/cpp/example_cmake目录下
    2. 依次执行:
    cmake .
    make
    ./opencv_example
    
    • 1
    • 2
    • 3

    出现“Hello OpenCV”,表示安装成功
    在这里插入图片描述

    3.3 安装PANGOLIN

    1. 安装依赖

      安装Pangolin所需依赖

    sudo apt install libgl1-mesa-dev
    sudo apt install libglew-dev
    sudo apt install libpython2.7-dev
    sudo apt install pkg-config
    sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 安装pangolin
    • 一定注意是v0.6版本:https://github.com/stevenlovegrove/Pangolin/tree/v0.6

    • 如果有新版本,先卸载最新版Pangolin:进入Pangolin文件夹的build里边,执行

    sudo make uninstall
    
    • 1
    - 下载并解压放于主页面下后
    
    • 1
    git clone https://github.com/stevenlovegrove/Pangolin/tree/v0.6  
    
    • 1
    • 安装步骤
    cd Pangolin
    mkdir build && cd build
    cmake ..
    make -j16
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 检测安装效果:如图:
    cd examples/HelloPangolin
    ./HelloPangolin
    
    • 1
    • 2

    注意:如果编译中出现如下错误:
    error: ‘decay_t’ is not a member of ‘std’
    很有可能是Pangolin的版本太高,请卸载安装v0.6版本

    3.4 安装boost

    官网下载boost: [链接](https://www.boost.org/users/download/)
    下载版本为:boost_1_79_0.tar.gz

    下载解压提取到主目录; 在解压后的文件夹下打开终端,执行以下指令:

    sudo ./bootstrap.sh
    sudo ./b2 install
    
    • 1
    • 2

    以上是所需的库和依赖项,请确保每一项都能安装,并正常,版本号正确。接下来安装ORB_SLAM3请参考《ubuntu 20.04+ORB_SLAM3 安装并行全记录(无坑版)(二)

  • 相关阅读:
    yolov5更换MobileNetV3的主干网络
    基于Java+Springboot+vue体育用品销售商城平台设计和实现
    【springboot项目详解】springboot项目整合-注册功能模块开发
    Python经典习题(二)
    阿里内部不传之秘:1000页算法刷题笔记
    资深测试面试-参考一下
    需求响应|动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)
    uniapp实现下拉刷新及上拉(分页)加载更多(app,H5,小程序均可使用)
    定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
    C#/VB.NET 添加多行文本水印到Word文档
  • 原文地址:https://blog.csdn.net/kuvinxu/article/details/125992909