'SIFT'不是'cv'的成员

时间:2013-07-23 03:56:04

标签: macos opencv sift

我正在尝试在mac上使用openCV的SIFT特征检测器,并且我不断收到以下错误:

siftTest.cpp: In function ‘int main(int, char**)’: 
siftTest.cpp:7: error: ‘SIFT’ is not a member of ‘cv’ 
siftTest.cpp:7: error: expected `;' before ‘detector’

我的代码是:

#include <opencv2/opencv.hpp>
#include <iostream>

int main (int arg, char *argv[]) {
   cv::Mat image = cv::imread("fox.jpg", 1);

   cv::SIFT detector(0, 3, 0.04, 0, 1.6);
   cv::vector<cv::KeyPoint> keypoints;

   cv::namedWindow("=^..^= FOX =^..^=");
   cv::imshow("=^..^= FOX =^..^=", image);
   cv::waitKey();
   return 0;
}

我可能只是没有导入某些内容,但我无法找到合适的东西/正确的组合以使其发挥作用。

由于

1 个答案:

答案 0 :(得分:4)

SIFTSURF已移至nonfree模块。你需要添加

#include <opencv2/nonfree/nonfree.hpp>

标题并与opencv_nonfree库链接。