第三章 图像的几何变换

如题所述

第1个回答  2022-07-09
几何变换为在不改变图像内容的前提下,对图像像素进行相对空间位置移动的处理方式。包括了平移、镜像、转置、缩放旋转等。

图像几何变换就是建立源图像与变换后图像之间的映射关系。
可以分为向前映射与向后映射

数学公式如图,只要给出输入像素坐标,即可获得变换后的坐标。
不过向前映射存在如下问题

由输出图像坐标反过来推算该像素在源图像的位置。实际处理中基本应用向后映射。

平移变换就是将所有坐标分别加上指定的垂直偏移量。

镜像变换是以中线为轴,进行对称变换。
width为图像宽度。以矩阵形式表示,如下

matlab中可以使用maketform()与imtransform()函数来进行变换。

图像的转置就是将横坐标与纵坐标交换位置。转置后图像宽度与高度对调。

图像的缩放数学表达式为:

其中,sx与sy为缩放系数。这里采用的是向后映射。
在影射过程中,会产生浮点坐标像素,它可以通过一系列算法获得浮点坐标的近似值。
常见插值法有最邻近插值法、双线性插值法与二次立方插值法

图像旋转过程中,需要将图像的坐标进行转换。转换成以中心点为原点的数学坐标系。需要3步:

矩阵表示为:

其中W,H为原图像的宽度与高度,而Wnew和Hnew是旋转后图像的宽高。

旋转过程中同样有浮点坐标的问题,也需要使用最邻近插值和双线性插值。
matlab中使用imrotate()函数进行旋转:
B = imrotate(A, angle, method, bbox)
method为插值方法,bbox用来制定是否重新定义尺寸。

图像仿射变换
tform = maketform('affine', T);
g = imtransform(f, tform, interp);
其中,interp可以是'nearest','bilinear'或者'bicubic'。

以上内容来自《数字图像处理:原理与实践(matlab版)》左飞著,电子工业出版社。此为学习笔记。
相似回答