FlannBasedMatcher 没有成员 knnMatch



我正在尝试使用Flann匹配器来匹配图像之间的特征。以下是几行代码:

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

这将生成以下错误:

类 "cv::P tr" 没有成员 "knnMatch">

我做错了什么?

试试这个:

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

如果使用 KNN,则还将使用劳氏比率来确定匹配之间的距离是否合适。还要确保描述符的类型为CV_32F

如果使用cv::Ptr,则需要使用箭头指针:->

但是你使用了点指针:.

将代码更改为:

matcher->knnMatch(afeatures.descriptors, bfeatures.descriptors, matches, 2);

相关内容

  • 没有找到相关文章

最新更新