我拍摄了一些我试图在Google地图上映射/转换为卫星图像的照片。通常,我只需要4对点来有效地应用透视变换。但是,由于两个原因,这在我的案例中没用:
因此,我想使用超过4个点对透视变换进行最小二乘估计,以便我可以更好地拟合。但是,我不知道该怎么做。
我正在使用 Python与PIL和/或OpenCV ,因此使用这些库的解决方案会有所帮助。
答案 0 :(得分:4)
Homography比affine稍强(它不保留平行线)。它需要4个点或更多(findHomography使用RANSAC并使用线性解决方案选择其最佳内点集;然后在最小二乘意义上对距离残差进行非线性优化。您必须提供尽可能多的匹配(> = 4),但要尽量避免太多不准确的匹配。
最小二乘法的原始统计模型是在存在噪声的情况下找到最优解的ML(最大似然)。 RANSAC补偿异常值的存在。算法中没有任何内容可以补偿系统偏差。如果它们不能被建模为噪声或异常值,则解决方案没有明确定义。如果内部数(在拒绝异常值之后)小于4,则不会找到解。