OpenCV:“SiftDescriptorExtractor”未在此范围内声明
OpenCV: ‘SiftDescriptorExtractor’ was not declared in this scope
总的来说,我是 OpenCV 的新手,过去几天一直在尝试一些例子。我已经成功地进行了 Harris 角点检测,以处理一些测试图像。我的下一个测试是看看我是否可以使用 SIFT 基于哈里斯检测来匹配两个图像。
我是这样找到哈里斯角的:
GoodFeaturesToTrackDetector harris_detector(1000, 0.01, 10, 3, true);
vector<KeyPoint> keypoints1, keypoints2;
harris_detector.detect(img1, keypoints1);
harris_detector.detect(img2, keypoints2);
这很好用。我的下一个目标是匹配 img1 和 img2 之间的特征,我尝试使用 SIFT。但是,当我尝试为 SIFT 声明提取器时:
SiftDescriptorExtractor extractor;
我收到以下错误:
错误:“SiftDescriptorExtractor”未在此范围内声明
SiftDescriptorExtractor 提取器;
我做错了什么?
提前致谢。
确保你有 #include <features2d.hpp>
。
在某些版本的 OpenCV 中,Sift 在 <opencv2/nonfree/features2d.hpp>
.
总的来说,我是 OpenCV 的新手,过去几天一直在尝试一些例子。我已经成功地进行了 Harris 角点检测,以处理一些测试图像。我的下一个测试是看看我是否可以使用 SIFT 基于哈里斯检测来匹配两个图像。
我是这样找到哈里斯角的:
GoodFeaturesToTrackDetector harris_detector(1000, 0.01, 10, 3, true);
vector<KeyPoint> keypoints1, keypoints2;
harris_detector.detect(img1, keypoints1);
harris_detector.detect(img2, keypoints2);
这很好用。我的下一个目标是匹配 img1 和 img2 之间的特征,我尝试使用 SIFT。但是,当我尝试为 SIFT 声明提取器时:
SiftDescriptorExtractor extractor;
我收到以下错误:
错误:“SiftDescriptorExtractor”未在此范围内声明 SiftDescriptorExtractor 提取器;
我做错了什么?
提前致谢。
确保你有 #include <features2d.hpp>
。
在某些版本的 OpenCV 中,Sift 在 <opencv2/nonfree/features2d.hpp>
.