ORB_SLAM3 -- 配置安装
安装环境 Ubuntu20.04
ORB_SLAM3依赖项安装
opencv3
ORB_SLAM3可用opencv3或opencv4编译,作者这里安装测试了opencv3
Step1: 安装opencv的依赖包
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
- 如果提示找不到libjasper-dev软件包
sudo apt-add-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
Step2: 下载opencv和opencv_contrib
cd ~/<my_working_directory> # <my_working_directory>替换为你的工作目录
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv
git checkout 3.4.16
cd ..
cd opencv_contrib
git checkout 3.4.16
cd ..
Step3: 编译和安装opencv以及opencv_contrib模块
Step3.1 创建build目录
cd opencv
mkdir build
cd build
Step3.2 执行cmake命令
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
Step3.3 编译并安装
# 执行如下命令后获取cpu核心数以加快编译
nproc
# 将nproc得到的数字放在make -j后面,作者的电脑有16的CPU核心
make -j16
sudo make install
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
- opencv安装参考
Pangolin
- pangolin版本更新到了0.6。此版本编译ORB_SLAM2,ORB_SLAM3,DSO,LDSO等SLAM框架时均会出现问题。
- 解决方法:采用较早版本的pangolin
非常不建议使用最新版本的pangolin进行编译安装,会遇到error: ‘slots_reference’ was not declared in this scope或者cannot findind Eigen3.cmake
issue: https://github.com/raulmur/ORB_SLAM2/issues/1015
Step1: 安装Pangolin的依赖包
sudo port install glew
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
- libpng12-dev安装可能会报错,但不影响后续步骤。
# Ubuntu16.04之后不支持libpng12-dev 修改为
sudo apt install libpng-dev
- 这里提供一个较早版本的Pangolin
链接:https://pan.baidu.com/s/17A51BZIq_iJlCvLHUTCH7g
提取码:oitb
- 尽管有人提到了Pangolin v0.5版本可以解决问题,但作者的机器上并没有成功
这里提供了百度网盘的版本
链接:https://pan.baidu.com/s/17A51BZIq_iJlCvLHUTCH7g
提取码:oitb
--来自百度网盘超级会员V5的分享
Step2: 编译并安装Pangolin
cd Pangolin
# 百度网盘的版本有build文件,要先删除再创建
rm -rf build
mkdir build
cd build
cmake ..
# 16替换为你自己电脑的CPU核心数
make -j16
sudo make install
- pangolin安装参考
ORB_SLAM3安装
Step1: 安装ORB_SLAM3的依赖包
sudo apt install libpython2.7-dev
Step2: 下载、编译并安装ORB_SLAM3
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
cd ORB_SLAM3
chmod +x build.sh
# 可以修改 CMakeList.txt 中的`make -j`为`make -j16`来加快编译速度。16替换为你的电脑的CPU核心数
./build.sh
编译ORB_SLAM3常见问题
- ORBSLAM3 fatal error: openssl/md5.h: No such file or directory
- 解决方法:执行如下命令
sudo apt install libssl-dev
- make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:89: CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o] Error 1
- 解决方法:在orb_SLAM3/include/CameraModels/KannalaBrandt8.h中添加
namespace cv
{
template<typename _Tp, int m, int n> static inline Matx<_Tp, m, n> operator/(const Matx<_Tp, m, n>& a, float alpha)
{
return Matx<_Tp, m, n>(a, 1.f/alpha, Matx_ScaleOp());
}
}
- ORB_SLAM3安装参考
ORB_SLAM3 -- 配置安装的更多相关文章
- Winserver2012下mysql 5.7解压版(zip)配置安装
一.安装 下载mysqlzip版本mysql不需要运行可执行文件,解压即可,下载zip版本mysqlmsi版本mysql双击文件即可安装,相对简单,本文不介绍此版本安装 配置环境变量打开环境变量配置页 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- 配置安装CocoPods后进行 项目基本配置
配置安装CocoPods后进行 项目基本配置总结 1)终端在文件根目录下输入 $ touch Podfile 创建一个空白的Podfile文件 2)然后在使用编辑器打开Podfile文件进行需要配置的 ...
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...
- 基于XMPP实现的Openfire的配置安装+Android客户端的实现
最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) 一.基于xmpp实现的openfire的配置安装 1. 下载最新的openfire安装文件 官方下载站点: http://www.igni ...
- 基于XMPP实现的Openfire的配置安装+Android客户端的实现[转]
最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) http://blog.csdn.net/sk719887916/article/details/40541163 https://git ...
- windows2008 配置安装FTP服务器
windows2008 配置安装FTP服务器 今天在服务器上开了IIS7,但是要求把一个附件文件夹拷贝到根目录下面,这个附件文件夹有2G多大小,直接用远程桌面映射,一直都拷贝不成功,而且本地缓存越来越 ...
- oozie配置安装与原理
概述 当前开源的hadoop任务工作流管理主要有oozie和Azkaban,本文先介绍oozie的配置安装与基本运行原理. 配置安装 (参考https://segmentfault.com/a/11 ...
- eclipse下配置安装ssm图文教程(web版)
eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1 mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...
随机推荐
- TCP可靠传输原理
停止等待协议 "停止等待"就是发送方在发送完一个分组后停止发送,等待接收方的确认后再继续发送. 超时重传 发送方在等待一定时间后如果还没有收到接收方的确认,此时发送方将认定分组没有 ...
- 手工添加数据到Chart
private void button1_Click(object sender, EventArgs e) { //清除Series chart1.Series.Clear(); Random ra ...
- PreparedStatement预编译的sql执行对象
一.预编译,防sql注入 其中,设置参数值占位符索引从1开始:在由sql 连接对象创建 sql执行对象时候传入参数sql语句,在执行对象在执行方法时候就不用再传入sql语句: 数据库索引一般是从1开始 ...
- Spring5(五)——AOP
一.AOP 1.介绍 AOP(Aspect Oriented Programming),面向切面编程.它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共 ...
- Redis核心原理与实践--列表实现原理之ziplist
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入.弹出数据,可以充当栈和队列的角色. > LPUSH fruit apple (integer) 1 > RPUSH ...
- Zookeeper Acl权限 超级用户权限 怎么跳过ACL密码/账户验证
Zookeeper的一个节点不知道什么原因无法删除了,查看日志发现是没有权限, 我们之前使用ACL进行Zookeeper节点的权限管理. 可以解决以下三种但不限于以下三种问题: 1.在设置Acl权限时 ...
- 注释swap分区
grep "#" fstab |grep "swap" >/dev/null || sed -i 's/^.*swap/#&/g' fstab
- PHP设计模式之状态模式
状态模式从字面上其实并不是很好理解.这里的状态是什么意思呢?保存状态?那不就是备忘录模式了.其实,这里的状态是类的状态,通过改变类的某个状态,让这个类感觉像是换了一个类一样.说起来有点拗口吧,先学习概 ...
- php-抽象工厂
目标:创建有依赖关系的实例;(套餐) <?php //抽象类 食物 interface IAllayFood { function Allay(); } interface IDrinkFood ...
- Fabric SSH链接时关于找不到主机的问题
先上一段简单的fabric代码: from __future__ import with_statementfrom fabric.api import *env.user = 'zhangsan'e ...