位置: IT常识 - 正文

ubuntu18.04配置ORB-SLAM3并跑EuRoC数据集(单目)(Ubuntu18.04配置允许远程访问)

编辑:rootadmin
ubuntu18.04配置ORB-SLAM3并跑EuRoC数据集(单目) 1 ORB-SLAM3算法环境搭建1.1  C++11 or C++0x Compiler 安装

推荐整理分享ubuntu18.04配置ORB-SLAM3并跑EuRoC数据集(单目)(Ubuntu18.04配置允许远程访问),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Ubuntu18.04配置网络,Ubuntu18.04配置wiring_pi,Ubuntu18.04配置网络,Ubuntu18.04配置网卡,ubuntu18.04配置ip地址详细步骤,Ubuntu18.04配置光盘源,ubuntu18.04配置ip地址,ubuntu18.04配置ip地址,内容如对您有帮助,希望把文章链接给更多的朋友!

新建一个终端(新建终端的快捷键是Ctrl+Alt+T)

输入以下代码

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install build-essential

sudo apt-get install cmake

1.2  Pangolin 安装

Pangolin的官方教程地址:https://github.com/stevenlovegrove/Pangolin

安装Pangolin

1.2.1下载Pangolin,推荐安装tag v0.6版本

# Clone Pangolin along with it's submodules

git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

1.2.2安装依赖

./scripts/install_prerequisites.sh --dry-run recommended

1.2.3编译

./scripts/install_prerequisites.sh -m brew all

可能出现的问题

如果安装Pangolin没有提示cmake版本不足,则无需此步骤

cmake一般都是直接安装的,如sudo apt-get install cmake,所以这里我们需要自己下载新版的cmake并覆盖安装。

进入Cmake官网:Cmake官网下载地址

选择合适的版本,比如本人选择的是cmake-3.20.6.tar.gz

(1)先把旧版cmake卸载

sudo apt-get autoremove cmake

(2)下载之后进行解压,编译(这里提示缺少openssl库,先进行安装)。

新建一个终端,输入如下:

sudo apt-get install openssl

tar zxvf cmake-3.20.6.tar.gz

cd cmake-3.20.6

./bootstrap

make -j4

sudo make install

(3)再编译安装Pangolin则可以通过。

1.3  OpenCV3.4.3安装

去官网下载opencv,版本选择opencv3.4.3,其他版本同理。

1.3.1官网地址:链接: opencv官网.

下载选择Source就可以,没有必要选github下载,太慢了。

1.3.2解压zip包

unzip opencv-3.4.3.zip

cd opencv-3.4.3

(1) .3.3安装opencv依赖项

这一步真的会缺少非常多库,最好都提前安装好

sudo apt-get install cmake

sudo apt-get install build-essential

sudo apt-get install 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

(2) Cmake

mkdir build

cd build

cmake ..

cmake 过程会出现非常多的错误

问题1:

Unable to locate package libjasper-dev

解决方法:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

问题2:

No package ‘libavresample’ found

解决方法:

sudo apt-get install libavresample-dev

问题3:

IPPICV: Download failed: “Couldn’t connect to server”

即ippicv的 ippicv_2017u3_lnx_intel64_general_20180518.tgz 下载不下来

原因:由于有qiang,无法进入外网下载

解决方法:

打开opencv 3.4.3/build/CMakeDownloadLog.txt

找到ippicv_2017u3_lnx_intel64_general_20180518.tgz 所对应的下载链接,将这个链接保存下来。

选择一种你们懂得的方式,将这个文件下载下来。(没有这种方式的话,只能找别人的百度云了)

接着打开 /opencv-3.4.3/3rdparty/ippicv/ippicv.cmake 这个文件,将47行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

改为

"file:home/xxx/xxx/"

这里的地址为下载下来的ippicv_2017u3_lnx_intel64_general_20180518.tgz的文件夹地址

特别需要注意的是file: 后面不要加/

特别需要注意的是file: 后面不要加/

特别需要注意的是file: 后面不要加/

问题4:

Could not find OpenBLAS include. Turning OpenBLAS_FOUND off

– Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off

– Could NOT find Atlas (missing: Atlas_CBLAS_INCLUDE_DIR Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY)

– A library with BLAS API not found. Please specify library location.

ubuntu18.04配置ORB-SLAM3并跑EuRoC数据集(单目)(Ubuntu18.04配置允许远程访问)

– LAPACK requires BLAS

– A library with LAPACK API not found. Please specify library location.

– Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)

– Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)

– VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file

解决方法:

sudo apt-get install libopenblas-dev

问题5:

No package ‘gstreamer-base-1.0’ found

解决方法:

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

(3)再次cmake和make,即执行以下命令

cmake ..

sudo make // 时间比较漫长

sudo make install

(4) 将OpenCV的库添加到路径

首先将OpenCV的库添加到路径,可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

在文件末尾添加

/usr/local/lib

执行如下命令使得刚才的配置路径生效:

sudo ldconfig

(5) 配置bash

打开bashrc

sudo gedit /etc/bash.bashrc

在末尾添加

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

export PKG_CONFIG_PATH

保存后,重新运行配置

source /etc/bash.bashrc

更新

sudo updatedb

到此,所有opencv3.4.3配置结束。

(6 )小程序运行

找到 opencv-3.4.3/samples/cpp/example_cmake 目录下,官方已经给出了一个cmake的example,拿来测试。按顺序执行:

cmake .

make

./opencv_example

可看到打开了摄像头,在左上角有一个hello opencv ,即表示配置成功。

1.4、Eigen安装

建议源码安装Eigen。

这里给出Eigen的官网:Eigen官网

Eigen版本我选择的是:Eigen 3.3.9 released版。

下载下来,我下载的是zip格式,解压,编译。

在终端内,执行以下安装操作:

unzip eigen-3.3.9.zipcd eigen-3.3.9mkdir buildcd buildcmake ..makesudo make install1.5、boost安装

如果不安装boost会报很多的关于c++的错误,并且无法定位。

进入boost官网网址:http://www.boost.org/users/download/

下载boost安装包,我选择的是boost_1_77_0.tar.gz版本

接着还是一样,解压编译安装,即执行以下命令:

tar -xvf boost_1_77_0.tar.gz

cd ./boost_1_77_0

./bootstrap.sh

sudo ./b2 install

1.6、DBoW2 and g2o

这两个库在ORB-SLAM3的Thirdparty文件夹下,编译ORB-SLAM3的时候会自动编译,不需要我们手动编译。

2. 正式编译ORB_SLAM3

克隆到本地

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3

修改build.sh文件

将所有的make -j改为make -j4(原因是make -j会调用所有的核心,导致电脑直接卡死,也可能是我电脑太弱了)

cd ~/ORB_SLAM3gedit build.sh

改为如下:

接着编译运行

chmod +x build.sh

./build.sh

问题1

编译过程中出现已杀死internal computer error,即内存不足的问题。

我参考了如下方式解决:Linux增加swap分区的方法https://www.cnblogs.com/kaishirenshi/p/8986467.html

问题2

sigslot/signal.app报错,错误内容类似error: ‘XXX’ is not a member of ‘std’

仔细研究std后发现,可能是编译过程中调用了某一些库,库里面使用的是c++14的标准语法,但ORB_SLAM3中只有c++11的语法许可,没有14的,这就造成了冲突。

打开ORB_SLAM3/CMakeLists.txt

gedit ./CMakeLists.txt

添加c++14的使用许可

add_compile_options(-std=c++14)

测试

进入ORB_SLAM3

cd ~/ORB_SLAM3

编译成功后,我们来跑一个示例。

首先,进入 EuRoC 数据集

选择Downloads的ASL Dataset Format格式,这里我下载了Machine Hall 01数据。

图片数据集下载好解压后是一个mav0这种形式的文件夹,在ORB-SLAM3文件夹下新建一个dataset文件夹,在dataset文件夹新建一个名称为MH01的文件夹,把mav0整个文件夹拷贝到MH01文件夹中。

在ORB-SLAM3路径下新打开一个终端:

# 命令格式 可执行文件 词袋路径 yaml路径 数据集图片路径 时间戳路径 需要保存的轨迹文件名称

输入命令:

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

如果没有图像,在ORB-SLAM3/Examples/Monocular/mono_euroc.cc中的第83行False改成true,保存并退出。重新输入命令

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

可视化界面:

如果最后出现Gtk-Message: 15:46:39.932: Failed to load module “canberra-gtk-module“报错,则输入命令:

sudo apt install libcanberra-gtk-module -y

重新输入命令

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

就没有报错了。

本文链接地址:https://www.jiuchutong.com/zhishi/298424.html 转载请保留说明!

上一篇:【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined(vue cannot set property)

下一篇:深度学习:图像去雨网络实现Pytorch (二)一个简单实用的基准模型(PreNet)实现

  • 三星电视苹果手机怎么投屏(三星电视苹果手机屏幕镜像搜不到)

    三星电视苹果手机怎么投屏(三星电视苹果手机屏幕镜像搜不到)

  • excel表格怎么查找重复内容(excel表格怎么查找名字)

    excel表格怎么查找重复内容(excel表格怎么查找名字)

  • opporeno4支持nfc功能吗(opporeno4pro支持nfc)

    opporeno4支持nfc功能吗(opporeno4pro支持nfc)

  • 微信视频通话如何投屏

    微信视频通话如何投屏

  • 华为手机最近骚扰电话特别多怎么办(华为手机老是出来广告怎么消除)

    华为手机最近骚扰电话特别多怎么办(华为手机老是出来广告怎么消除)

  • 华为畅享10充电指示灯怎么设置(华为畅享10充电器多少瓦)

    华为畅享10充电指示灯怎么设置(华为畅享10充电器多少瓦)

  • 为什么拼多多分享的链接不一样(为什么拼多多分享不了微信了)

    为什么拼多多分享的链接不一样(为什么拼多多分享不了微信了)

  • 为什么有的抖音视频不能下载保存(为什么有的抖音号搜不到)

    为什么有的抖音视频不能下载保存(为什么有的抖音号搜不到)

  • 微信红包能发多少(微信红包能发多少钱最多)

    微信红包能发多少(微信红包能发多少钱最多)

  • 钉钉为什么会出现呼叫受限(钉钉为什么会出现别人的名字)

    钉钉为什么会出现呼叫受限(钉钉为什么会出现别人的名字)

  • 老年手机忽然充不进电(老年手机充电错误是怎么回事)

    老年手机忽然充不进电(老年手机充电错误是怎么回事)

  • 苹果手机配对手表怎么扫描不出来(苹果手机配对手表一直显示更新)

    苹果手机配对手表怎么扫描不出来(苹果手机配对手表一直显示更新)

  • 网速300兆是什么意思(网速300兆是多少kbps)

    网速300兆是什么意思(网速300兆是多少kbps)

  • 微信语音只能听到开头(微信语音只能听一半怎么回事)

    微信语音只能听到开头(微信语音只能听一半怎么回事)

  • 华为mate10怎么关闭运行程序 (华为mate10怎么关闭运行程序)

    华为mate10怎么关闭运行程序 (华为mate10怎么关闭运行程序)

  • 微信注册发不了短信怎么办(微信注册发不了短信验证怎么办)

    微信注册发不了短信怎么办(微信注册发不了短信验证怎么办)

  • 快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

    快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

  • 淘宝昵称能改多少次(淘宝昵称可以随时改吗)

    淘宝昵称能改多少次(淘宝昵称可以随时改吗)

  • 荣耀8能升级emui9吗(荣耀8能升级安卓9吗)

    荣耀8能升级emui9吗(荣耀8能升级安卓9吗)

  • 企查查公司信息怎么删除(企查查公司信息来源)

    企查查公司信息怎么删除(企查查公司信息来源)

  • 手机qq日志怎么删除(手机QQ日志怎么删除)

    手机qq日志怎么删除(手机QQ日志怎么删除)

  • 荣耀20pro防水级别(华为荣耀20pro防水级别)

    荣耀20pro防水级别(华为荣耀20pro防水级别)

  • miui10闹钟不响解决(小米10闹钟不响)

    miui10闹钟不响解决(小米10闹钟不响)

  • 小影如何配音(小影后期配音怎么变声)

    小影如何配音(小影后期配音怎么变声)

  • 大数据为什么选择贵阳(大数据为什么火)

    大数据为什么选择贵阳(大数据为什么火)

  • 电话号码空号怎么恢复(电话号码空号怎么设置)

    电话号码空号怎么恢复(电话号码空号怎么设置)

  • u启动u盘怎么安装win10 u启动u盘安装win10视频教程(u启动u盘怎么装系统)

    u启动u盘怎么安装win10 u启动u盘安装win10视频教程(u启动u盘怎么装系统)

  • DINO 论文精度,并解析其模型结构 & DETR 的变体(精读论文分析)

    DINO 论文精度,并解析其模型结构 & DETR 的变体(精读论文分析)

  • 不能从销项税额中抵扣的进项税额都有什么
  • 一般纳税人转为小规模的条件
  • 审计助理是做什么工作的
  • 交易性金融资产的交易费用计入哪里
  • 建筑类企业是否允许留抵
  • 金蝶标准版如何结转到下月
  • 幼儿园申报税种及税率
  • 开发票时怎么操作收款人 复核人 开票人
  • 购买金蝶软件多少钱
  • 开出商业承兑汇票到期会计分录
  • 预算为负数实际为负数 怎么计算完成率
  • 工伤职工应享有的待遇及救济途径
  • 营改增后建筑行业甲供材
  • 申报扣除的广告费支出须符合哪些条件
  • 共用的水电费支出怎么算
  • 资产减值损失确认后,减值资产的折旧
  • 未实缴出资的股东退股
  • 收到银行存款怎么记账
  • 事业单位过节发东西
  • 没有对公账户的公司怎么注销
  • 日用品增值税税率
  • 代扣代缴增值税纳税义务发生时间
  • 企业会计准则应用案例
  • 所有者权益减少资产减少案例
  • 撤回投资属于什么会计科目
  • 向关联企业支付管理费用可以税前扣除吗
  • 打印企业银行流水需要密码吗
  • 工资不用交税还用上报么
  • 金蝶存货核算的基本流程
  • 私立幼儿园收费归哪个部门管
  • 其他货币资金期末处理
  • 母公司对子公司减资
  • 差额发票可以开1个点吗?
  • uview2.0封装http请求实战以及常见请求传参实录
  • mc office是什么意思
  • php使用教程
  • 求源代码
  • 商品销售成本怎样计算
  • framework教程
  • 前端种类
  • 一般纳税人餐饮服务可以抵扣吗
  • 技术咨询费属于
  • 不同情况不同处理的句子
  • 发票税额打印不全可以入账吗
  • 什么是临时雇佣
  • 26个字母!
  • 个税显示申报成功是不是就可以了
  • 不动产投资缴纳什么税
  • 关联企业债资比怎么计算
  • 转入固定资产清理会计科目
  • 什么叫挂往来
  • 生育津贴的支付期限表述不正确的是
  • 为什么小规模不可以收专票
  • 车间检测费会计分录
  • 高新技术企业奖励政策
  • 个体户减免税额怎么填
  • 开外管证再省外能办理吗
  • 销售合同的印花税由谁交
  • 社保退回的钱怎么做会计分录
  • 国内旅客运输票据可以抵扣进项税吗
  • 如何理解施工企业的周转材料
  • mysql 5.7.17 winx64安装配置图文教程
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • centos opencl
  • 火狐firefox浏览器华为
  • Usrshuta.exe - Usrshuta是什么进程
  • ubuntu系统安装SSH服务
  • win7系统删除文件夹怎么恢复
  • perl 删除文件
  • jsp中onload事件
  • bat调用vbs脚本
  • unity 3d游戏开发(第2版)
  • 成都税务局发票查询
  • 退车辆购置税流程怎么操作
  • 进口天然气定价机制
  • 土地增值税网上申报流程
  • 广西小学成绩查询入口官网
  • 国家实行什么制度鼓励电力用户合理调整用电负荷
  • 2018年企业所得税
  • 新企业会计准则长期待摊费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设