DescriptorExtractor :: create(“SOFT”)返回0?

时间:2013-12-15 10:03:32

标签: c++ opencv

以下代码输出0。

Ptr<DescriptorExtractor> descriptor = DescriptorExtractor::create("SIFT");
cout << descriptor << endl;

而这段代码输出一个非零指针。

Ptr<DescriptorExtractor> descriptor = DescriptorExtractor::create("ORB");
cout << descriptor << endl;

我该怎么做来修复创建筛选功能?我用opencv 2.4.7和2.4.6.1进行了测试。

1 个答案:

答案 0 :(得分:2)

SIFT和SURF获得专利,非自由。

所以,要使用它们,你必须

  • 包含“opencv2 / nonfree / nonfree.hpp”标题,
  • 链接到opencv_nonfree.lib和
  • 致电cv::initModule_nonfree();
    在做其他任何事情之前在main()中。