1. 建立坐标对与投影矩阵的方程
在机器视觉领域,常常会使用单应性矩阵对图像进行透视变换以达到矫正畸变图形的目的。平面的单应性在这里被定义为,从一个平面到另一个平面的投影映射,通过数学表达式描述即,一个平面上的点 p0(x,y) p 0 ( x , y ) 与投影矩阵 H H 相乘,结果为另一个平面上对应点 ,用齐次矩阵表达即为:
⎡⎣⎢u′v′w⎤⎦⎥=H⎡⎣⎢xy1⎤⎦⎥(1) (1) [ u ′ v ′ w ] = H [ x y 1 ]
其中投影矩阵
H H
为一个
方阵,
H=⎡⎣⎢h1h4h7h2h5h8h3h6h9⎤⎦⎥(2) (2) H = [ h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 ]
点
p′(u,v) p ′ ( u , v )
的坐标为
{
u=u′/wv=v′/w(3) (3) { u = u ′ / w v = v ′ / w
也就是
⎧⎩⎨u=h1x+h2y+h3h7x+h8y+h9v=h4x+h5y+h6h7x+h8y+h9(4) (4) { u = h 1 x + h 2 y + h 3 h 7 x + h 8 y + h 9 v = h 4 x + h 5 y + h 6 h 7 x + h 8 y + h 9
注意到,上式中等式的格式为矩阵
H H
中各行系数求比,也就说等式右边的分子分母可同时乘以一个缩放因子
从前面的推导可以看出,每提供两个平面上的一对点,即可联立分别基于 x x 和 坐标的两个方程,而求投影矩阵 H H 需要8个约束条件,故需要提供4对点才能求出 。
我们将 (4) ( 4 ) 式写成如下形式
{
h1x+h2y+h3−h7ux−h8uy−h9u=0h4x+h5y+h6−h7vx−h8vy−h9v=0(6) (6) { h 1 x + h 2 y + h 3 − h 7 u x − h 8 u y − h 9 u = 0 h 4 x + h 5 y + h 6 − h 7 v x − h 8 v y − h 9 v = 0
也就是
{
Xh=0Yh=0(7) (7) { X h = 0 Y h = 0
其中
{
X=(x,y,1,0,0,0,−ux,−uy,−u)Y=(0,0,0,x,y,1,−vx,−vy,−v)(8) (8) { X = ( x , y , 1 , 0 , 0 , 0 , − u x , −