weixin_47327776 2023-06-26 16:45 采纳率: 0%
浏览 3

orbslam2运行遇到的问题

orbslam2运行时为什么map viewer窗口不显示任何点云之类的。

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-26 19:13
    关注
    • 这篇文章:orbslam2编译中出现的问题 也许能够解决你的问题,你可以看下
    • 除此之外, 这篇博客: ORBSLAM3编译生成与应用中的 十、编译ORBSLAM3 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 1、在D:\ORBSLAM3\orbslam3-windows文件夹中,新建build空文件夹,如图所示:
      在这里插入图片描述
      2、对orbslam3-windows进行cmake操作,如图所示:
      在这里插入图片描述
      这时后要注意,在Configure执行过程中,会报如下错误:
      Error in configuration process, project likes may be invalid
      在这里插入图片描述
      解决方法:

      打开orbslam3-windows安装文件夹下的CMakeLists.txt文件(例如我的是在:D:\ORBSLAM3\orbslam3-windows\路径下)

      修改CMakeLists.txt文件(修改内容类似于编译DBOW2时的修改):

      <1> 第一处修改:

      CMakeLists.txt文件中添加如下代码:

      set(OpenCV_DIR D:/ORBSLAM3/opencv-4.1.2/build)
      

      在这里插入图片描述
      注意:我的修改是以上这样的,如果你的opencv-4.1.2的路径与我的不同,则请以你的路径为准!

      <2> 第二处修改:
      在这里插入图片描述
      再次configure就不会报错了:
      在这里插入图片描述
      接着,点击Generate–>Open Project后,进入Visual Studio

      3、进入Visual Studio之后,进行如下编译操作:

      3.1、Release模式下进行编译操作:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      接着,在C/C++–>预处理器–>预处理器定义中添加如下代码:

      WINDOWS;COMPILEDWITHC11;
      

      在这里插入图片描述
      在这里插入图片描述
      完成以上操作后,进行生成操作,步骤如下:
      在这里插入图片描述
      在这里插入图片描述
      在生成时,会报如下错误:

      无法打开包括文件: “opencv/cv.h”: No such file or directory
      在这里插入图片描述
      原因是项目文件中头文件引入有误,改成如下形式即可:

      #include <opencv2/opencv.hpp> 
      

      在这里插入图片描述
      保存之后,再次进行生成操作,会报如下错误:

      "CV_RGB2GRAY": 未声明的标识符

      解决方法:双击报错的内容,进入Traking.cc文件,在该文件中添加如下代码:

      #include <opencv2/imgproc/types_c.h>    //添加
      

      在这里插入图片描述
      再次进行生成操作,还会有如下报错:

      “CvMat”: 未声明的标识符

      解决方法:双击报错的内容,进入PnPsolver.cc文件
      在这里插入图片描述
      找到并进入头文件PnPsolver.h
      在这里插入图片描述
      在头文件中添加如下代码:

      // 引入如下头文件
      #include <opencv2/core/types_c.h>
      #include <opencv2/core/core_c.h>
      

      在这里插入图片描述

      再次对ORB_SLAM3进行生成操作,会报如下错误:

      "CV_GRAY2BGR": 未声明的标识符
      在这里插入图片描述
      双击进入报错文件中,添加如下内容即可:

      // 添加如下代码
      #include <opencv2\imgproc\types_c.h>
      #include <opencv2/imgcodecs/legacy/constants_c.h>
      

      在这里插入图片描述

      再次点击生成按钮,会报如下错误:

      "CV_REDUCE_SUM": 未声明的标识符

      解决方法:
      在报错文件中添加如下代码:

      // 添加的代码
      #include <opencv2/core/core_c.h>
      

      在这里插入图片描述
      再次点击生成按钮,即可完成Release模式下的生成!
      在这里插入图片描述
      3.2、Debug模式下进行编译操作:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      接着,在C/C++–>预处理器–>预处理器定义中添加如下代码:

      WINDOWS;COMPILEDWITHC11;
      

      在这里插入图片描述
      在这里插入图片描述
      ORB_SLAM3上右键,点击生成即可!
      在这里插入图片描述

    评论

报告相同问题?

问题事件

  • 创建了问题 6月26日

悬赏问题

  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条