我有一张美国地图,我在地图上有很多像素坐标,它们对应于感兴趣的地方。这些是在运行时根据各种设置和统计数据动态绘制在地图上的。
我现在需要切换到不同大小的美国地图,地图的左上角是在海洋中的一个轻微的地方。
因此,我手动为每个地图收集了一小部分彼此对应的坐标。例如,第一地图上的点(244,312)对应于第二地图上的点(598,624),并且第一地图上的(1323,374)对应于第二地图上的(2793,545),等等。
所以我试着决定X和Y维度的平移。因此,给定新旧地图的一组点,如何找到x' = A*x + C和y' = B*x + D等式来自动将旧地图中的任何点转换为新地图?
发布于 2009-12-08 05:03:50
为了获得更健壮的结果来对抗不准确,更多的两点可能会有所帮助。在这种情况下,如果您只假设平移和缩放最小二乘拟合可能会有所帮助:Wikipedia
基本上,你可以通过选择最优的A,B,C,D来最小化sum( (A_xi+B-xi')^2 + (C_yi+D-yi')^2 )。
https://stackoverflow.com/questions/1862753
复制相似问题