我是计算机视觉的初学者。 我正在使用Open CV提出的这个算法http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html,以便在拍摄图像的相机进行旋转平移之后计算相同环境(城市的鸟瞰图)的2个场景之间的一些匹配点。 相机和环境都是模拟的(所以没有改变亮度,没有扭曲等) 显然,帧速率足够高,以使图像大部分重叠。 之后,我必须使用此点来计算描述相机移动的仿射变换矩阵(拍摄图像的高度不随时间变化)。 因此,对于每一对图像,我需要至少2个匹配点。 我的问题是,匹配点通常小于3 .. 是否存在一些更适合我的目的的强大方法? 谢谢
答案 0 :(得分:0)
我相信你给出的例子中实现的过滤非常幼稚。假设你得到一个真正高分的比赛(w.r.t描述符之间的距离),那么min_dist
非常小并且可能过滤掉好的比赛。换句话说,具有最佳分数的匹配不一定是几何上最好的(两个特征看起来非常相似,但不是真实世界的对应)......
您可以尝试做的是:
findHomography()
计算单应矩阵
findHomography()
允许您使用mask
来跟踪内部因素mask
这应该是更好的验证。