ORB_SLAM2_modified编译

CMake Error at CMakeLists.txt:37 (message):
OpenCV > 2.4.3 not found.
– Configuring incomplete, errors occurred!

/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/CMakeLists.txt 33行

find_package(OpenCV 3.0 QUIET)

并添加

SET(CMAKE_CXX_STANDARD 14)

改为

set(OpenCV_DIR /$PATH to opencv/build)
find_package(OpenCV QUIET)

/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/include/ORBextractor.h 26行
改为

#include <opencv2/opencv.hpp>

error: ‘CV_RGB2GRAY’ was not declared in this scope
177 | cvtColor(mImGray,mImGray,CV_RGB2GRAY);
| ^~~~~~~~~~~
解决方法
MapPoint.h添加

#include <opencv2/imgproc/types_c.h>

/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/Examples/Monocular/mono_euroc.cc:74:48: error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
74 | im = cv::imread(vstrImageFilenames[ni],CV_LOAD_IMAGE_UNCHANGED);
| ^~~~~~~~~~~~~~~~~~~~~~~
CV_LOAD_IMAGE_UNCHANGED改为cv::IMREAD_UNCHANGED

error: ‘CvMat’ was not declared in this scope
591 | CvMat ABt = cvMat(3, 3, CV_64F, abt);

PnPsolver.h添加

#include <opencv2/imgproc/types_c.h>

/usr/include/c++/9/bits/stl_map.h:122:71: error: static assertion failed: std::map must have the same value_type as its allocator
122 | static_assert(is_same<typename _Alloc::value_type, value_type>::value,
| ^~~~~

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
        Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;

改为

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
        Eigen::aligned_allocator<std::pair<KeyFrame *const, g2o::Sim3> > > KeyFrameAndPose;

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值