【发布时间】:2017-08-27 19:33:54
【问题描述】:
我一直在使用 Orb 检测器和描述符以及 BF_hamming 匹配器。但问题是当我尝试使用这段代码过滤匹配项时:
matcher.match(descriptors1, descriptors2, matches);
svimatches = matches.toList();
for (int j = 0; j < descriptors1.rows(); j++) {
distance = svimatches.get(j).distance;
if (distance < min_distance) {
min_distance = distance;
}
for (int z = 0; z < descriptors1.rows(); z++) {
if (svimatches.get(z).distance <= 2*min_distance) {
goodmatcheslist.add(svimatches.get(z));
}
}
我得到了太多匹配项,但是当我使用 0.25*min_distance 时,它会过滤得恰到好处。 这是什么原因?任何人都可以为 ORB 推荐任何其他类型的匹配过滤器方法吗?
提前致谢, K.Š.
【问题讨论】:
-
匹配距离越小越好。通过使用
0.25*min_distance,您降低了接受阈值,从而减少了好的匹配。