ORBSLAM2 windows编译与问题解决

2023-12-28 19:08

本文主要是介绍ORBSLAM2 windows编译与问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ORBSLAM2 windows编译与问题解决,,一次性搞定,亲测有效

    • 1准备工作
    • 2按照如下步骤进行编译

1准备工作

1.下载windows下的ORBSLAM2版本
ORBSLAM2windows
2.下载cmake
Cmake
3下载Opencv
opencv版本没有要求,但是别太老,本文使用的是2.4.13

2按照如下步骤进行编译

1.Opencv环境配置

下载解压opencv之后在根据需要在环境变量PATH中添加YOUR_OWN_PATH\opencv\build; 对于x64环境添加YOUR_OWN_PATH\opencv\build\x64\vc12\bin;
对于x86环境变量“ PATH” 中添加YOUR_OWN_PATH\opencv\build\x86\vc12\bin;按需添加即可

2.DBOW编译

  1. 打开cmake-gui,选择DBow2文件夹作为源路径,选择DBow2 / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”。
  3. 配置完成后,单击生成。
  4. 转到DBow2 / build文件夹,双击DBoW2.sln以打开对象。
  5. 在所需的调试或发布模式下构建ALL_BUILD。
  6. 成功构建之后,这些库将位于DBow2项目源文件夹的lib文件夹中。

3.Eigen

  1. Eigen不需要编译

4.Pangolin
注意!!!
编译Pangolin的时候最好将打开git运行,否则编译过程太慢了。哭唧唧!!

 git config --global http.proxy 'socks5://127.0.0.1:1080'
  1. 打开cmake-gui,选择Pangolin文件夹作为源路径,选择Pangolin / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
  3. 配置完成后,单击生成
  4. 转到Pangolin / build文件夹,双击Pangolin.sln以打开对象
  5. 在所需的调试或发布模式下构建ALL_BUILD。(模式应与DBoW2 && g2o相同)
  6. 您将收到“无法打开输入文件’pthread.lib’”的错误,将其忽略即可
  7. 成功构建后,这些库将位于Pangolin项目源文件夹的lib文件夹中

5.g2o编译

  1. 1.打开cmake-gui,选择g2o文件夹作为源路径,选择g2o / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
  3. 配置完成后,单击生成
  4. 转到g2o / build文件夹,双击g2o.sln以打开对象
  5. 右键单击g2o项目->属性-> C / C +±>预处理程序定义,在最后一行添加WINDOWS,单击“应用”并单击“确定”
  6. 在所需的调试或发布模式下构建ALL_BUILD。(提醒重复步骤5 &&模式应与DBoW2相同)
  7. 成功构建后,这些库将位于g2o项目源文件夹的lib文件夹中

6.ORBSLAM的构建

  1. 打开cmake-gui,选择ORBSLAM24Windows文件夹作为源路径,选择ORBSLAM24Windows / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成
  3. 配置完成后,单击生成
  4. 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
  5. 选择所需的调试或发布模式。(模式应与DBoW2 && g2o && Pangolin相同)
  6. 右键单击ORB_SLAM2项目,然后单击“生成”
  7. 成功构建之后,这些库将位于ORB_SLAM2项目源文件夹的lib文件夹中
  8. 编译过程中如果出现“back_inserter”: 不是“std”的成员错误,定位目标文件位置,加入头文件 #include <iterator> 即可

7.编译应用程序
以mono_tum应用为例,您可以按照以下步骤操作

  1. 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
  2. 选择所需的调试或发布模式。(构建模式应与DBoW2 && g2o && Pangolin && ORB_SLAM2相同)
  3. 右键单击mono_tum项目,然后单击“生成”
  4. 下载tum数据集序列,例如freiburg2_desk
  5. 右键单击mono_tum项目,然后单击Property-> Config Property-> Debug,输入三个参数(用法:./mono_tum path_to_vocabulary path_to_settings path_to_sequence,第一个可以在Windows中忽略)
    path_to_vocabulary在ORBSLAM24Windows / Vocabulary文件夹中,解压缩tar和.txt文件
    path_to_settings在ORBSLAM24Windows / Examples / Monocular文件夹中,与TUM2.yaml对应的rgbd_dataset_freiburg2_desk
    path_to_sequence rgbd_dataset_freiburg2_desk文件夹路径

大功告成!!!
在这里插入图片描述

这篇关于ORBSLAM2 windows编译与问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/546967

相关文章

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.