我正在使用SURF,并且我都尝试
FlannBasedMatcher
和
BruteForceMatcher
我看到需要设定好的比赛
matcher.knnMatch(,,2); // with k=2 (At least)
如果设置
k = 1
,则不会获得该关键点的第一个较远距离的匹配。有什么原因吗?
最佳答案
knnMatch将您的数据划分为k个组。如果k = 1,则将其放在一个大的组中。
对于单个分区,该算法将很难找出与第二个分区的距离。因此,根本没有距离可以计算。
关于opencv - knnMatch是否要求k> 1才能获得良好的结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11142643/