Ubuntu20.04中 ORBSLAM3的安装和测试
ORBSLAM3 安装以及测试教程(Ubuntu20.04)
1.前期准备工作
1.1安装相关依赖
sudo apt install git cmake gcc g++ mlocate
1.2下载ORBSLAM3源码
可以直接通过github下载源码: (https://github.com/UZ-SLAMLab/ORB_SLAM3)
2.安装一些所需的库
2.1 安装Eigen3库
直接通过命令安装 sudo apt-get install libeigen3-dev
。
但是通常安装不全会遇到一定麻烦。因此通常是采用源码编译的方法: Eigen3库github地址: https://github.com/eigenteam/eigen-git-mirror/tree/3.3.4 一定要下载对应的3.3.4版本。 直接解压然后编译安装:
cd eigen-git-mirror-3.3.4
mkdir build & cd build
cmake ..
sudo make install
2.2 安装Pangolin0.6
github下载源码:https://github.com/stevenlovegrove/Pangolin/tree/v0.6 一定要安装0.6的版本
根据github对应的依赖依次安装。
然后解压进入文件中编译:
cd Pangolin0.6/
mkdir build &cd build
cmake ..
make -j4
sudo make install
可以通过下述方法测试是否安装成功:
cd Pangolin0.6/examples/HelloPangolin
mkdir build & cd build
cmake ..
make
./HelloPangolin
运行后如果出现一个红绿蓝立方体,则代表安装成功。
2.3安装OpenCV
ORBSLAM3要求OpenCV版本为4.x以上,本文采用的是OpenCV4.4.0,从Opencv官网下载4.4.0版本:https://opencv.org/releases/。
下载完后解压到主文件夹内(Home)新建的opencv中
然后在github中下载contrib版本(下载4.4.0版本):https://github.com/opencv/opencv_contrib/tree/4.4.0
同样解压到opencv文件夹中。
通常opencv_contirb中会缺少一些需要的文件,因此可以通过链接下载:https://wwtt.lanzouw.com/if60o1cwvv4h 密码:d5fx
下载后将文件放入opencv_contrib-4.4.0/modules/xfeatures2d/src 文件夹内。
然后需要对两个地方进行修改
- opencv_contrib-4.4.0/modules/xfeatures2d/test/test_features2d.cpp 文件 将里面的第 51~52 行代码路径改为:
#include "../../../../opencv-4.4.0/modules/features2d/test/test_detectors_regression.impl.hpp"
#include "../../../../opencv-4.4.0/modules/features2d/test/test_descriptors_regression.impl.hpp"
- 修改 opencv_contrib-4.4.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp 文件,将里面的第 7~8 行代码路径改为:
#include "../../../../opencv-4.4.0/modules/features2d/test/test_detectors_invariance.impl.hpp" // main OpenCV repo
#include "../../../../opencv-4.4.0/modules/features2d/test/test_descriptors_invariance.impl.hpp" // main OpenCV repo
打开终端编译:
cd opencv
mkdir -p build && cd build
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules ../opencv-4.4.0
make -j4
sudo make install
3.安装ORBSLAM3
解压ORBSLAM3文件,进入其中,打开对应的可视化选项
打开 Examples/Monocular 文件夹下的 mono_euroc.cc 文件,找到第 83 行:
将ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, false);
改为true。
按照官网给的指令编译安装:
cd ORB_SLAM3
chmod +x build.sh
./build.sh #如果遇到问题就按照命令行一行一行输入,查看问题出在哪
4.数据集测试
4.1数据集下载
下载地址:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
将第一个Machine Hall01数据集下载对应的ASL Data。
下载完成后进入文件夹(随便哪个文件夹),创建dataset文件夹,再在下面创建MH01文件夹,将解压得到的mav0文件移动到MH01中。然后在终端中测试:
将最后的路径换成你下载的MH01对应路径
cd ORB_SLAM3
cd Examples
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml /home/xiao/dataset/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt
出现以下结果就是成功
5.遇到的一些问题
5.1 opencv编译失败
opencv编译失败可能是一些动态库指向错误,主要是与anaconda环境相冲突,链接给出了很好的解答。
5.2编译成功后运行出现GTK+2.X错误
按照提示安装 libgtk2.0-dev
等
或者在conda环境下pip install opencv-contrib-python
,重新编译opencv即可(两种之一解决方法?)
参考链接:
[1]:https://www.cnblogs.com/xiaoaug/p/17766112.html
[2]:https://blog.csdn.net/qq_19278525/article/details/134039141
[3]:https://blog.csdn.net/kuvinxu/article/details/126233165
[4]:https://www.zhihu.com/question/263917089
Ubuntu20.04中 ORBSLAM3的安装和测试的更多相关文章
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之准备安装-09
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之准备安装-09 欢迎加QQ群:1026880196 进行交流学习 准备安装 #controller1 ...
- ubuntu18.04中mysql的安装及远程连接配置
1.ubuntu 18.04 下mysql的安装 sudo apt install mysql-server 2.mysql 安装配置 sudo mysql_secure_installation 参 ...
- VM中 Ubuntu14.04 中Samba的安装配置和使用
以前都是在Redhat 上搭建samba,现在改成在ubuntu12.04 上搭建发现 sudo /etc/init.d/samba restart 始终不行,原来,现在ubuntu下,启动服务要用 ...
- Ubuntu12.04中的虚拟机安装Ubuntu16.04,并实现远程控制16.04
目录 1.设置网络连接 1.1 VMware虚拟机网络地址设置 1.2 设置虚拟机内Ubuntu16.04的网络模式 未开机状态下 开机状态下 1.3 查看虚拟机中Ubuntu16.04的IP 2.进 ...
- Ubuntu20.04中创建Pycharm桌面快捷方式
[Desktop Entry] Type=Application Name=Pycharm GenericName=Pycharm3 Comment=Pycharm3:The Python IDE E ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
- 树莓派4b安装Ubuntu20.04
树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...
- Ubuntu20.04 安装MongoDB及其基本使用
MongoDB 官方文档 本博客旨在自我学习使用,如有任何疑问请及时联系博主 基本介绍 MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库. MongoDB 是一款介于关系数据库和非关 ...
- Ubuntu20.04服务器+Anaconda上创建Python3.6虚拟环境并
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 前言 由于服务器已安装Anaconda,包含的Python版本为3.8,为使用3.6版本同时避免和其他人互相影响,我选择创建虚拟环境,并在其中安 ...
- ubuntu20.04 系统初始化与美化
ubuntu20.04 系统初始化与美化 参考博客:https://mp.weixin.qq.com/s/JowjHrs9GMVlolaoaSGiEg 参考博客:https://www.linuxmi ...
随机推荐
- nim 6. 使用包
本来想按照制作包 - 发布包 - 使用包的顺序写.发现制作包一时还没搞懂,先看看怎么使用包吧. nim的包管理工具,是自带的 nimble. nimble的官方包列表是:Nim package di ...
- nim 5. 读写文件
读文件 假设nim程序相同的文件夹下,有个people.txt文件,内容如下: Alice A. Bob B. Carol C. 读取这个文件的代码 import strutils let conte ...
- Linux部署Apache 网站服务器(httpd服务)
一.项目导入: 某学院组建了校园网,建设了学院网站.现需要架设Web服务器来为学院网站安家,同时在网站上传和更新时,需要用到文件上传和下载,因此还要架设FTP服务器,为学院内部和互联网用户提供WWW. ...
- HBase Meta 元信息表修复实践
作者:vivo 互联网大数据团队 - Huang Guihu.Chen Shengzun HBase是一款开源高可靠.高可扩展性.高性能的分布式非关系型数据库,广泛应用于大数据处理.实时计算.数据存储 ...
- QQ/钉钉远程控制和商业远程控制哪个好用
提到远程协助.远程控制,你会想到什么? 国内最古老.最被用户熟知的,大概就是QQ远程控制了.QQ远程控制,方便易用.打开聊天窗口,点窗口上方"-",再移动到如图所示的电脑-箭头图标 ...
- C语言:删除顺序表中重复的信息—(删除顺序表中重复的单词)
如何删除顺序表中的重复单词: (开始看内容之前容朕说一句:如果你最后怎么都运行不了你想要的结果,①我敢保证大概率是你的下标越界你的下标越界了你的下标越界了.②在我这程序里面你肯定打少了p--,少了p- ...
- Python基础篇(安装)
Python简介 Python是Guido van Rossum发布于1991年的一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,是一种解释型的,弱类型的高级计算机语言.需要注意的是pyth ...
- 定了!航天科技AIRIOT 物联网平台新品发布会,6月6日北京见!
AIRIOT新品发布会预告 航天科技定档6月6日举办AIRIOT新品发布会,诚邀大家共同见证4.0版本的创新与赋能! 活动地点:北京雍和航星科技园. 现场参会请通过下方长图二维码进行报名! 亦可预约直 ...
- 鸿蒙HarmonyOS实战-Stage模型(应用上下文Context)
前言 应用上下文(Context)是应用程序的全局信息的接口.它是一个抽象类,提供了访问应用程序环境的方法和资源的方法.应用上下文可以用于获取应用程序的资源.启动Activity.发送广播等.每个应用 ...
- vue-element-admin 运行踩坑笔记
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x. npm E ...