图像到图像的映射

本文介绍了单应性变换、仿射变换及相似变换的基本原理,并详细解释了直接线性变换算法(DLT)用于估计变换矩阵的方法。文章还探讨了这些变换在图像扭曲、配准及全景图创建中的应用,并简要介绍了RANSAC算法在处理异常值时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、单应性变换是将一个平面内的点映射到另一个平面内的二维投影变换。

xyw=h1h4h7h2h5h8h3h6h9xyw[x′y′w′]=[h1h2h3h4h5h6h7h8h9][xyw]

点的齐次坐标依赖于其尺度定义,因此单应性矩阵HH也仅依赖尺度定义,所以,单应性矩阵具有8个独立的自由度。

仿射变换

[xy1]=[a1a2txa3a4ty001][xy1]


x=[A0t1]xx′=[At01]x

仿射变换包含一个可逆矩阵AA和一个平移向量t=[tx,ty],仿射变换可以应用于图像扭曲等场景。
相似变换
xy1=scos(θ)ssin(θ)0ssin(θ)scos(θ)0txty1xy1[x′y′1]=[scos(θ)−ssin(θ)txssin(θ)scos(θ)ty001][xy1]


x=[sR0t1]xx′=[sRt01]x

是一个包含尺度变化的二维刚体变换。上式中的向量ss指定了变换的尺度,R是角度为θθ的旋转矩阵,t=[tx,ty]t=[tx,ty]在这里是一个平移向量。如果s=1s=1,那么该变换能够保持距离不变。此时,变换为刚体变换,相似变化可以应用于图像配准等。

2、直接线性变换算法
单应性矩阵可以由两幅图像(或者平面)中对应点对计算出来。每个对应点可以写出两个方程,分别对应与xxy坐标。因此,计算单应性矩阵HH需要4个对应点对。
DLT(Direct Linear Transformation,直接线性变换)是给定4个或者更多对应点对矩阵,来计算单应性矩阵H的算法。我们可以得到下面的方程:

x10x20y10y2010100x10x20y10y20101x1x1x1y1x2x2x2y2y1x1y1y1y2x2y2y2x1y1x2y2h1h2h3h4h5h6h7h8h9=0[−x1−y1−1000x1x1′y1x1′x1′000−x1−y1−1x1y1′y1y1′y1′−x2−y2−1000x2x2′y2x2′x2′000−x2−y2−1x2y2′y2y2′y2′⋮⋮⋮⋮⋮⋮⋮⋮⋮][h1h2h3h4h5h6h7h8h9]=0

或者
Ah=0Ah=0

其中AA是一个具有对应点对二倍数量行数的矩阵。
我们可以使用SVD(Singular Value Decomposion,奇异值分解)算法找到H的最小二乘解。

3、仿射变换
放射变换具有6个自由度,因此我们需要三个对应点对来估计矩阵HH。通过将最后两个元素设置为0,即h7=h8=0,仿射变换可以用上面的DLTDLT算法估计得出。

4、对图像块应用放射变换,我们将其称为图像扭曲(或者放射扭曲)。
扭曲操作可以使用SciPy工具包中的ndimage包来完成。

5、图像配准是对图像进行变换,是变换后的图像能够在常见的坐标系中对齐。

6、创建全景图
在同一位置(即图像的照相机位置相同)拍摄的两幅或者多幅图像是单应性相关的,我们可以使用该约束将很多图像缝补起来,拼成一个大的图像来创建全景图。

7、RANSAC是“RANdom SAmple Consensus”(随机一致性采样)的缩写。给定点集之间的单应性矩阵,合理的模型应该能够在描述正确数据点的同时摒弃噪声点。

8、拼接图像
估计出图像间的单应性矩阵(使用RANSAC算法),现在我们需要将所有的图像扭曲到一个公共的图像平面上。通常,这里的公共平面为中心图像平面。一种方法是创建一个很大的图像,比如图像中全部填充0,使其和中心图像平行,然后将所有的图像扭曲到上面,由于我们所有的图像是由照相机水平旋转拍摄的,因此我们可以使用一个较简单的步骤:将中心图像左边或者右边的区域填充0,以便为扭曲的图像腾出空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值