通过奇异值分解(SVD)求解透视变换单应性矩阵

1. 建立坐标对与投影矩阵的方程

  在机器视觉领域,常常会使用单应性矩阵对图像进行透视变换以达到矫正畸变图形的目的。平面的单应性在这里被定义为,从一个平面到另一个平面的投影映射,通过数学表达式描述即,一个平面上的点 p0(x,y) p 0 ( x , y ) 与投影矩阵 H H 相乘,结果为另一个平面上对应点 p ( u , v ) ,用齐次矩阵表达即为:

uvw=Hxy1(1) (1) [ u ′ v ′ w ] = H [ x y 1 ]
其中投影矩阵 H H 为一个 3 × 3 方阵,
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 中各行系数求比,也就说等式右边的分子分母可同时乘以一个缩放因子
(5) { u = h 1 x + h 2 y + h 3 h 7 x + h 8 y + h 9 × s x s x v = h 4 x + h 5 y + h 6 h 7 x + h 8 y + h 9 × s y s y
而不影响结果的正确性,因此投影矩阵不是唯一的,矩阵元素可以等比例放缩,故在求解矩阵 H H 时,未知数只有8个而不是9个,只要为矩阵中任意一非零元素的赋一确定值,其他元素根据比例也就得到了确定的值。通常情况下,我们使用的矩阵是将 h 9 的值置为1而得到的,记为 H0=H,whereh9=1 H 0 = H , w h e r e h 9 = 1 。之所以这么做,是为了使元素 h3 h 3 h6 h 6 u u v x x y 都取 0 0 时的值,这在某些应用场合是有特定意义的。如在相机标定应用中,当 h 9 1 1 时, h 3 h6 h 6 为相机图像的主点(光轴与成像平面的交点)坐标,此时 h1 h 1 h5 h 5 分别是相机在水平和垂直方向的像素焦距值。
  从前面的推导可以看出,每提供两个平面上的一对点,即可联立分别基于 x x y 坐标的两个方程,而求投影矩阵 H H 需要8个约束条件,故需要提供4对点才能求出 H
  我们将 (4) ( 4 ) 式写成如下形式
{ h1x+h2y+h3h7uxh8uyh9u=0h4x+h5y+h6h7vxh8vyh9v=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 , −
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值