1.仿射矩阵的一般式
⎡⎣⎢xwywzw⎤⎦⎥=⎡⎣⎢a11a21a31a12a22a32a13a231⎤⎦⎥●⎡⎣⎢ximageyimage1⎤⎦⎥
其中设图像平面为1,坐标只有一个比例因子。故
Zimage=1,a33=1
求得a11~a32 8个参数便能得到仿射矩阵。
2.求解8个参数
为了得到仿射后的一一对应关系,8个未知数应有8个方程,故需要4个不同的点对应才能求解该方程。
由矩阵乘法可知:
xw=a11⋅ximage+a12⋅yimage+a13…………(1)
yw=a21⋅ximage+a22⋅yimage+a23…………(2)
zw=a31⋅ximage+a32⋅yimage+1…………(3)
要得到zw的平面内x和y的值,由投影的三角形相似法可得:x,y应除以z
故:
xworld=xwzw,yworld=ywzw
有:
xworld=a11⋅ximage+a12⋅yimage+a13a31⋅ximage+a32⋅yimage+1
yworld=a21⋅ximage+a22⋅yimage+a23a31⋅ximage+a32⋅yimage+1
代入四个对应点对,并写成矩阵A·x = 0的形式。
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x1i0x2i0x3i0x4i0y1i0y2i0y3i0y4i0101010100x1i0x1i0x3i0x4i0y1i0y1i0y3i0y4i01010101−x1ix1w−y1wx1i−x2ix2w−y1wx1i−x3ix3w−y3wx3i−x4ix4w−y4wx4i−x1iy1w−y1iy1w−x2iy2w−y1iy1w−x3iy3w−y3iy3w−x4iy4w−y4iy4w−x1w−y1w−x2w−y1w−x3w−y3w−x4w−y4w⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⋅⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢a11a12a13a21a22a23a31a321⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=0
由此可求得这8个参数。
3.多点求仿射矩阵
超过四个点,就是方程数大于未知数。属于超定方程求解,可以由最小二乘法解决。