Я работаю над проектом для iPhone, который использует openCV для сопоставления некоторых изображений. Первоначально я использовал cvMatchTemplate (), но на выходе получилось не то, что мы ожидали. поэтому я сейчас пытаюсь реализовать детектор SURF с использованием FLANN.
Я попытался перенести следующий код .cpp на цель C,
//-- Step 2: Calculate descriptors (feature vectors)
SurfDescriptorExtractor extractor;
Mat descriptors_1, descriptors_2;
extractor.compute( img_1, keypoints_1, descriptors_1 );
extractor.compute( img_2, keypoints_2, descriptors_2 );
//-- Step 3: Matching descriptor vectors using FLANN matcher
FlannBasedMatcher matcher;
std::vector< DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );
Но не удалось его скомпилировать, хотя у меня есть все необходимые библиотеки и заголовочные файлы. Автозаполнение также не дает опций для любых детекторов, присутствующих в
#include "opencv2/features2d/features2d.hpp"
Детектор определяется в заголовочном файле как
class CV_EXPORTS FeatureDetector
{
...
}
Что я здесь не так делаю? Любые входные данные о том, как вызывать методы в классе детектора (абстрактный базовый класс)?