title: 仿射变换
date: 2020/03/23 周一 11:58:40.00
tags: affine transformation
categories: GIS Algorithm
author:Tamkery
寻松点点Note:仿射变换公式推导
一、变换公式
$$
\left [ \begin{array}{cccc}
C &F \\
A &D \\
B &E \\
\end{array}\right] =
\left [ \begin{array}{cccc}
n & \sum{x} & \sum{y} \\
\sum{x} & \sum{x^2} & \sum{xy} \\
\sum{y} & \sum{xy} & \sum{y^2} \\
\end{array}\right]^{-1} \cdot
\left [ \begin{array}{cccc}
\sum{X} & \sum{Y} \\
\sum{xX} & \sum{xY} \\
\sum{yX} & \sum{yY} \\
\end{array}\right]\quad
$$
(1-1)式
输入至少4个点在两个不同坐标下的坐标,计算6个变换参数(A~F)。
比如一个点P在坐标框架下的位置信息为(x,y);在另一个坐标框架下的位置信息为(X,Y)。
那么同一个点在两个不同坐标框架下就可得两套位置信息的坐标: (x,y)和(X,Y)。
二、GIS使用背景
图出自《GPS卫星导航基础:让-马利-佐格》
利用仿射变换公式:
可将点(x,y)转换到(X,Y)。
那么关于六参数矩阵的算法1-1式如何推导呢?
三、仿射变换六参数矩推导
输入至少4个点在两个不同坐标下的坐标,计算6个变换参数(A~F)。在这个条件下,n的最小值为4,那么就以4个控制点为基础开始公式的构建:
当n=4,即输入为4个控制点时候,有16个数据项。
把点数从4个推广到很多个,n个方程相加可得1-2式。
注意:在1-2式中【x,y,X,Y】是点的坐标位置,也就是已经数据。公式中的未知变量其实是A到F六个字母。
六个未知数,两个方程,这种情况是求不出未知数的。所以至少再需要4个方程。
同理,又可得:
四、矩阵形态化
(这个不想敲Latex了)
于是得到:
功能实现
get A
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
n | sum_x | sum_y | sum_xx | sum_yy | sum_xy |
Reference:
1.《地理信息系统导论》【美】kang-tsung Chang 第八版
2.《GPS卫星导航基础》【瑞士】让-马利-佐格