仿射变换affine和透视变换

仿射变换和单应矩阵

首先明确:二者的应用场景相同,都是针对二维图片的变换。仿射变换affine是透视变换的子集,透视变换是通过homography单应矩阵实现的。

从数学的角度,homography即H阵,是一个秩为3的可逆矩阵:

仿射矩阵是:

由于第三行没有未知数,仿射矩阵最常用的是两行三列的形式。计算H阵需要4对不共线点,计算仿射阵只需要3对不共线的点。

通常会才用RANSAC方法从多对匹配点中计算得到精确、鲁棒的结果。affine一般比homography更稳定一些,所以可以先计算affine,然后再用affine作为homography的初始值,进行非线性优化。

仿射变换的实际意义

仿射变换在图形中的变换包括:平移、缩放、旋转、斜切及它们的组合形式。这些变换的特点是:平行关系和线段的长度比例保持不变。

平移变换

数学形式:

矩阵形式:

尺度变换

矩阵形式:

旋转变换

矩阵形式:

刚体运动:旋转缩放平移

矩阵形式:

斜切变换

矩阵表示:

这个也是更为一般的仿射变换的形式,xy轴的旋转是两个自由度。

透视投影变换的实际意义

首先,继续上面的示例,透视变换的矩阵形式:

这个变换看似是很随意的,变化的可能性也是非常多。但投影变化具有其明确的意义:共面点成像。

先回顾下摄像机模型

世界坐标系映射到摄像机坐标系:Pc即上图的Mext

其中Maff表示像素坐标系和单位距离坐标系之间的转化,与硬件设备相关。不考虑像素坐标系,在以米等单位距离为尺度的笛卡尔坐标系中,有:

对于共面点,我们可以另其一个坐标为0(肯定存在一个适当的世界坐标系满足的),不妨设为第三维度,上述矩阵可以得到简化:

最终得到的3*3的矩阵,称之为“Homography矩阵”,该矩阵是可逆的。

研究共面点成像有什么意义呢?两个不同位置的相机,共面点对应有两个单应矩阵H1和H2。

两个角度拍摄的一堆共面点,可以通过H1和H2以及C阵(上面的Mext)得到变换矩阵H。矩阵的形式:

求解上述方程,有两种方式,一种是设:

;两一种是添加约束:。

选择第一种约束:

得到:

写成矩阵的形式:

线性最小二乘为题:Ah=b

1997年,Hartley发表“In Defense of the Eight Point Algorithm”对原始8点算法进行改进,在构造解的方程之前对输入的数据进行适当的归一化。即在形成8点算法的线性方程组之前,图像点的一个简单变换(平移或变尺度)将使这个问题的条件极大地改善,从而提高结果的稳定性。而且进行这种变换所增加的计算复杂性并不显著。算法具体过程具体如下:

a.对原始图象坐标做一个平移变换,使原来以左上角为原点的图象坐标变成以所有图像点的重心为原点的图像坐标;

b.再对图象坐标做一个尺度变换,使得点到原点的平均距离为

分别对两幅图像进行以上两步变换,然后将变换后的图像坐标作为输入数据计算基础矩阵。计算过程如下:

第二种求解方式:这里可以使用SVD分解

得到:

矩阵的形式:

齐次最小二乘法:Ah=0,h的解是A的SVD分解V的最后一列向量,右奇异向量还是单位向量,正好满足条件。

透视变换的应用主要有两个:消除透视投影导致的失真,校正图像;图像拼接。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xutingjie168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值