ORBSLAM2 windows編譯與問題解決

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文件夾路徑

大功告成!!!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章