简单记录安装ORB-SLAM2过程中对代码的改动

因为重新安装了ubuntu20.04,opencv也使用的是4.1的版本,而ORB的作者使用的是3.0,所以会碰到一些问题,将安装过程中在网上找到的解决方案总结一下,记录在此。

使用OpenCV4需要进行的改动

  1. 在CMakeLists中将OpenCV3.0改为4.1(对应的版本),主要是是ORB-SLAM2文件夹和DBoW2文件夹下的CMakeLists文件。

  2. CV_LOAD_IMAGE_UNCHANGED报错,这个是opencv代码版本问题,可替换为:

cv::IMREAD_UNCHANGED
  1. 一些文件会出现#include 的错误,也是因为OpenCV版本问题,可将头文件替换为:
#include
#include 

之前安装也会出现的问题

  1. usleep报错: error: ‘usleep’ was not declared in this scope usleep(5000);
    需要在对应的文件中增加头文件:
#include 

需要添加的大致有:
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc

  1. 将build.sh文件最后一行编译连接ORB-SLAM2的make -j改为make -j4

这里只是我在安装过程中进行的改动,为了防止以后还会再次安装,所以记录一下。

你可能感兴趣的:(SLAM学习,opencv,linux)