TUM-Mono 数据集提供了数据集相关的c++代码
https://github.com/tum-vision/mono_dataset_code
一、其中thirdparty/里有aruco-1.3.0的源代码,由于本机是ubuntu20.04+opencv4.2.0,编译出现很多问题,现在小结一下
1.关于EM_classifier
由于aruco里只有关于3.x的宏定义判断,所以opencv4.x会被转入2.x的版本代码,由于本渣CPP不好,就全部转成了硬编码,也就是不判断opencv版本,直接使用新版本,主要集中在
src/chromaticmask.cpp 和 src/chromaticmask.h
2.CV_GRAY2BGR, CV_size等未定义问题
所有出现这个报错的cpp文件加一个引用就好
#include <opencv2/imgproc/types_c.h>
3.CV_AA, CV_GRAY2BGR未定义问题
参考https://github.com/xiaohulugo/VanishingPointDetection/issues/3
CV_AA 改为LINE_AA
CV_GRAY2BGR改为COLOR_BGR2GRAY(2,3选一个就行)
3.CV_FOURCC问题
参考https://blog.csdn.net/weixin_41406657/article/details/85123361
对于于opencv4.0.0里面CV_FOURCC找不到标识符的错误之前在网上找了好多,发现普遍都是让添加头文件 #include<opencv\highgui.hpp>,可是亲身实践了一下并不是这个原因,而是在opencv4.0.0中已经对CV_FOURCC进行了改变,如下图所示,CV_FOURCC(‘P’, ‘I’, ‘M’, ‘1’)CV_FOURCC(‘M’,‘J’,‘P’,‘G’),已经改为CAP_OPENCV_MJPEG,希望大家不要走弯路
二、数据集代码本身
1.CV_AA参照上方
2.CV_LOAD_IMAGE_GRAYSCALE
参考https://blog.csdn.net/Bixiwen_liu/article/details/107345635
CV_LOAD_IMAGE_GRAYSCALE已改为IMREAD_GRAYSCALE