寻找两个坐标系之间的变换方式

3
我有一段视频源,其中包含两个连续的帧。我使用FAST算法检测这两个帧的关键点,并使用平方差和方法(SSD)匹配这些关键点。
因此,我已经在这两个帧之间匹配了关键点。现在我想从一组匹配的关键点中计算两个帧之间的仿射变换(比例+旋转+平移)。
我知道如何从两个点对计算仿射变换。
我的问题是,如果要使用两个或三个以上的点进行计算,我们该如何计算?我知道我必须使用最小中值平方方法,但我对这个领域很陌生,不知道该如何使用它。
请问是否有人能够详细解释或提供一个简单易懂的链接?
1个回答

3
您可以使用函数findHomography,请参考文档了解相关信息。如果您提供的所有点匹配都是好的匹配,可以保持参数method的默认值(即值0),这将使用最小二乘法。但是,如果您从SSD关键点匹配中获得点匹配,则真实匹配中可能会有一些错误匹配。因此,使用RANSAC或Least Medians等鲁棒方法会获得更好的结果。请注意,此findHomography函数返回透视变换(即完整的3x3矩阵)。如果您真的想要仿射变换(2x3矩阵),则必须自己实现最小二乘法(请查看此帖子)或RANSAC(请查看此帖子)。

有没有一种方法可以在SSD匹配中包含RANSAC? - Lakshya Kejriwal
你可以使用RANSAC,但需要从假设匹配中估计模型。因此,您应该确定要估计的内容,例如:单应性变换、基础矩阵等等。这就是为什么在您的情况下,最自然的方法是使用RANSAC估计仿射变换的原因。 - BConic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接