已经安装有Ros-melodic,自带有OpenCV 3.2.0。
编译一个项目时需要调用SIFT算法,这个算法需要include xfeatures2d.hpp头文件。

自带的OpenCV 3.2.0不包含这个部分,且项目需要OpenCV 4.1以上版本,于是下载安装4.1,仍然无法编译。查询后得知SIFT需要安装对应版本的contrib,遂重新下载OpenCV 4.1 + OpenCV_contrib 4.1.0,教程如下:
【Ubuntu 环境配置】(1)Ubuntu安装opencv-4.1.0+opencv_contrib-4.1.0(c++,py2,py3 皆可运行)_咿呀的博客-CSDN博客
但是吊诡的是安装之后仍然提示缺失xfeatures2d.hpp文件,但是查看OpenCV的安装目录可以看到是有这个文件的。

在Ubuntu 18.04上,由于ROS-melodic自带的OpenCV 3.2.0不支持SIFT算法,因此需要安装OpenCV 4.1.0及OpenCV_contrib 4.1.0。安装后仍报错找不到xfeatures2d.hpp,原因是系统默认使用ROS的OpenCV版本。解决方案是在CmakeList.txt中指定OpenCV 4.1的完整路径,包括build、include和lib目录,确保编译时使用正确版本的OpenCV。
最低0.47元/天 解锁文章
727

被折叠的 条评论
为什么被折叠?



