由于ubuntu20.04自带的opencv版本为opencv4,而VINS所用的opencv版本为opencv3,在catkin_make🥌会有一堆报错,例如:
对应解决方案:
1.
error: ‘CV_GRAY2RGB’ was not declared in this scope
在报错的几个文件上添加头文件 #include <opencv2/imgproc/imgproc_c.h>
2.
error: ‘CV_CALIB_CB_ADAPTIVE_THRESH’ was not declared in this scope 、
error: ‘CV_CALIB_CB_NORMALIZE_IMAGE’ was not declared in this scope、
error: ‘CV_CALIB_CB_FILTER_QUADS’ was not declared in this scope
error: ‘CV_CALIB_CB_FAST_CHECK’ was not declared in this scope
error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope
将
CV_CALIB_CB_ADAPTIVE_THRESH、CV_CALIB_CB_NORMALIZE_IMAGE、
CV_CALIB_CB_FILTER_QUADS 、 CV_CALIB_CB_FAST_CHECK、
CV_FONT_HERSHEY_SIMPLEX
修改为 :
cv::CALIB_CB_ADAPTIVE_THRESH 、 cv::CALIB_CB_NORMALIZE_IMAGE 、
cv::CALIB_CB_FILTER_QUADS 、 cv::CALIB_CB_FAST_CHECK
cv::FONT_HERSHEY_SIMPLEX
3.在解决VINS-Fusion报错时,遇到比较特殊的:
error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
在改为cv::LOAD_IMAGE_GRAYSCALE时,仍出现报错:
error: ‘LOAD_IMAGE_GRAYSCALE’ is not a member of ‘cv’
是因为CV_LOAD_IMAGE_GRAYSCALE变量名改为了:cv::IMREAD_GRAYSCALE,不要改成别的。