Ubuntu20.04配置ORBSLAM2并在kitti数据集序列进行实验

2024-06-16 10:52

本文主要是介绍Ubuntu20.04配置ORBSLAM2并在kitti数据集序列进行实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、ORB-SLAM2 安装和编译

1.ORB-SLAM2下载

用以下命令在终端上下载

git clone https://github.com/raulmur/ORB_SLAM2

2.安装Pangolin

在下载了ZIP压缩包后解压缩放在ubantu的/home下(此处只要是英文路径都可以),但别急着安装Pangolin我们还需要安装一些必要的库

sudo apt install libgl1-mesa-dev
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev

接下来就可以安装Pangolin了

cd Pangolin
mkdir build 
cd build
cmake ..
cmake --build .

3.安装OpenCV3

自己去官网下个opencv3系列,下载完成后,将其提取到主目录。,将该文件夹重命名为opencv3。

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

解压后,将文件夹放自己喜欢的地方,将解压后的文件夹重新命为opencv3

在opencv3文件夹下新建build文件夹

终端运行

make build

进入build文件夹下

cd build 

在build目录下运行

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

编译

sudo make -j8

sudo make install

修改ld.so.conf文件 用gedit打开/etc/ld.so.conf 在文件中加上一行 /usr/loacal/lib 其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径 终端执行

sudo gedit /etc/ld.so.conf

输入

include /usr/local/lib

保存退出

运行下面语句刷新库链接配置

sudo ldconfig

终端执行

sudo gedit /etc/bash.bashrc 

在文件末尾加入

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

保存退出

然后在命令行中输入刷新

source /etc/bash.bashrc

在命令行中输入如下命令

pkg-config opencv --modversion

4.安装Eigen3

ZIP文件下载后解压放到ubantu中,进入eigen文件加中执行以下步骤

mkdir build
cd build
cmake ..
sudo make install

5.Ceres安装

先安装依赖项:sudo apt-get install  liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
​
git clone https://github.com/ceres-solver/ceres-solver.git
​
编译:
cd ceres-solver
mkdir build && cd build
cmake ..
sudo make -j8
sudo make install

6.DBoW3安装

git下来
​
mkdir build
cd build/
cmake ..
make
sudo make install

7.g2o安装

安装依赖:sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3
​
git下来
​
编译:
cd g2o
mkdir build && cd build
cmake ..
sudo make -j8
sudo make install

8.安装运行ORB_SLAM2

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

二、运行Kitee数据集

数据集准备

下载好后,进入ORB_SLAM2文件夹创建一个文件夹:data,将下载好的数据集压缩包提取到data下面,然后打开一个新终端输入以下命令

cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz

这篇关于Ubuntu20.04配置ORBSLAM2并在kitti数据集序列进行实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066264

相关文章

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应