0

我正在尝试在 Mac 上使用 C++ 使用 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;
}

我可能只是没有导入一些东西,但我找不到正确的东西/正确的东西组合来让它工作。

谢谢

4

1 回答 1

5

SIFT并被SURF移至nonfree模块。您需要添加

#include <opencv2/nonfree/nonfree.hpp>

标题和与opencv_nonfree库的链接。

于 2013-07-23T05:05:31.960 回答