0.CmakeList
将
slam2/Thirdparty/DBoW2/CmakeList
slam2/CmakeList
里的Cmake的opencv改为你的opencv版本
1.ORBextractor.h
将
#include <opencv/cv.h>
换为
#include<opencv2/imgproc/imgproc_c.h>
#include <opencv2/highgui/highgui_c.h>
2.CmakeList
error: ‘std::chrono::monotonic_clock’ has not been declared
add_definitions(-DCOMPILEDWITHC11)
加个这个就行
3.tracking.cc
CV_RGBA2GRAY换为cv::COLOR_RGBA2GRAY
其他同理
4.loopClosing.h
上面注释是原文,下面是修改后的
// 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;
5.FrameDrawer.cc
CV_GRAY2BGR改为cv::COLOR_GRAY2BGR
6.System.h
在使用了CV_LOAD_IMAGE_COLOR这个定义的c文件下,需要替换为:
#include “opencv2/imgcodecs/legacy/constants_c.h”
7.pnpsolver.cc/h
这里里面发生了任何错误请把这个文件的内容换成最原版2016版本的pnpsolver。
7.如果你把深度学习和slam2结合
detector.cc(这个文件是执行深度学习附加上去的)
cvSize(inpWidth, inpHeight)
改为
cv::Size(inpWidth, inpHeight)
DNN_BACKEND_CUDA
改为
cv::dnn::dnn4_v20200609::DNN_BACKEND_CUDA