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

相关文章

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable