欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ORBSLAM2 windows编译与问题解决

程序员文章站 2022-06-11 16:56:16
...

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

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编译与问题解决

相关标签: Slam c++