У пользователя FlannBasedMatcher нет участников - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь использовать устройство сопоставления Фланна для сопоставления функций между изображениями.Ниже приведены несколько строк кода:

vector<MatchesInfo> matches;
Ptr<FlannBasedMatcher> matcher(new flann::LshIndexParams(20, 10, 2));  
matcher.knnMatch(afeatures.descriptors, bfeatures.descriptors, matches, 2);

Это приводит к следующей ошибке:

класс "cv :: Ptr" не имеет члена "knnMatch"

Что я делаю не так?

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте это:

vector<vector< DMatch >> knnMatches;
FlannBasedMatcher matcher;
matcher.knnMatch(desc1, desc2, knnMatches, 50);

Если бы при использовании KNN также использовались коэффициенты Лоу, чтобы определить, подходит ли расстояние между матчами.Также убедитесь, что дескрипторы имеют тип CV_32F

...