第06章图像的几何变换

上传人:我*** 文档编号:137616045 上传时间:2020-07-10 格式:PPT 页数:167 大小:1.87MB
返回 下载 相关 举报
第06章图像的几何变换_第1页
第1页 / 共167页
第06章图像的几何变换_第2页
第2页 / 共167页
第06章图像的几何变换_第3页
第3页 / 共167页
第06章图像的几何变换_第4页
第4页 / 共167页
第06章图像的几何变换_第5页
第5页 / 共167页
点击查看更多>>
资源描述

《第06章图像的几何变换》由会员分享,可在线阅读,更多相关《第06章图像的几何变换(167页珍藏版)》请在金锄头文库上搜索。

1、第6章 图像的几何变换,6.1 几何变换基础 6.2 图像比例缩放 6.3 图像平移 6.4 图像镜像 6.5 图像旋转 6.6 图像复合变换 6.7 图像透视变换 6.8 应用实例几何畸变的校正,6.1 几何变换基础6.1.1 概述图像的几何变换,是指原始图像按照需要产生大小、形状和位置的变化。从图像类型来分,图像的几何变换可以有二维平面图像的几何变换和三维图像的几何变换以及由三维向二维平面投影的变换等。从变换的性质分,图像的几何变换有平移、比例缩放、旋转、反射和错切等基本变换,透视变换等复合变换,以及插值运算等。,数字图像是把连续图像在坐标空间和性质空间离散化了的图像。例如,一幅二维数字图

2、像就是把一幅连续的二维(2D)图像在坐标空间XOY和性质空间F都离散化了的图像,它可以用一组2D数组f(x, y)来表示,其中x和y表示2D空间XOY中一个坐标点的位置,f代表图像在点(x, y)的某种性质F的数值。如果所处理的是一幅灰度图,这时f表示灰度值。此时,f、x、y都在整数集合中取值。因此,除了插值运算外,常见的图像几何变换可以通过与之对应的矩阵线性变换来实现。,由于篇幅所限,本章只讨论2D图像的几何变换。对于2D图像几何变换,由于变换中心在坐标原点的恒等、比例缩放、反射、错切和旋转等各种变换,都可以用22矩阵表示和实现,但是一个22变换矩阵却不能实现2D图像的平移以及绕任意点的比例

3、缩放、反射、错切和旋转等各种变换。因此,为了能够用统一的矩阵线性变换的形式表示和实现这些常见的图像几何变换,就需要引入一种新的坐标齐次坐标。利用齐次坐标进行变换处理,才能实现上述各种2D图像的几何变换。,6.1.2 齐次坐标现设点P0(x0, y0)进行平移后,移到P(x, y),其中x方向的平移量为x,y方向的平移量为y。那么,点P(x, y)的坐标为,如图6-1所示。这个变换用矩阵的形式可以表示为,图6-1 点的平移,而平面上点的变换矩阵中没有引入平移常量,无论a、b、c、d取什么值,都不能实现上述的平移变换。因此,需要使用23阶变换矩阵,其形式为,此矩阵的第一、二列构成单位矩阵,第三列元

4、素为平移常量。由上述可知,对2D图像进行变换,只需将图像的点集矩阵乘以变换矩阵即可。2D图像对应的点集矩阵是2n阶的,而上式扩展后的变换矩阵是23阶的矩阵,这不符合矩阵相乘时要求前者的列数与后者的行数相等的规则,因此需要在点的坐标列矩阵x yT中引入第三个元素,增加一个附加坐标,扩展为31的列矩阵x y 1T,这样用三维空间点(x y 1)表示二维空间点(x, y),即采用一种特殊的坐标,可以实现平移变换。变换结果为,其中符合上述平移后的坐标位置。通常将23阶矩阵扩充为33阶矩阵,以拓宽功能。由此可得平移变换矩阵为,下面再验证一下点P(x, y)按照33的变换矩阵T平移变换的结果:,从上式可以

5、看出,引入附加坐标后,扩充了矩阵的第3行,并没有使变换结果受到影响。这种用n+1维向量表示n维向量的方法称为齐次坐标表示法,因此,2D图像中的点坐标(x, y)通常表示成齐次坐标(Hx, Hy, H),其中H表示非零的任意实数,当H1时,称(x, y, 1)为点(x, y)的规范化齐次坐标。显然规范化齐次坐标的前两个数是相应二维点的坐标,没有变化,仅在原坐标中增加了H1的附加坐标。由点的齐次坐标(Hx, Hy, H)求点的规范化齐次坐标(x, y, 1),可按下式进行:,齐次坐标的几何意义相当于点(x, y)落在3D空间H1的平面上,如图6-2所示。如果将xOy平面内的三角形abc的各顶点表示

6、成齐次坐标(xi, yi, 1)(i=1, 2, 3)的形式,就变成H1平面内的三角形a1b1c1的各顶点。,图6-2 齐次坐标的几何意义,齐次坐标在2D图像几何变换中的另一个应用是:如某点S(60 000,40 000)在16位计算机上表示,由于大于32767的最大坐标值,需要进行复杂的处理操作。但如果把S的坐标形式变成(Hx, Hy, H)形式的齐次坐标,则情况就不同了。在齐次坐标系中,设H1/2,则S(60 000,40 000)的齐次坐标为(x/2,y/2,1/2),那么所要表示的点变为(30 000,20 000,1/2),此点显然在16位计算机上二进制数所能表示的范围之内。因此,采

7、用齐次坐标,并将变换矩阵改成33阶的形式后,便可实现所有2D图像几何变换的基本变换。,6.1.3 二维图像几何变换的矩阵利用齐次坐标及改成33阶形式的变换矩阵T,实现2D图像几何变换的基本变换的一般过程是:将2n阶的二维点集矩阵x0i y0iT2n表示成齐次坐标x0i y0i 1T3n的形式,然后乘以相应的变换矩阵即可,即 变换后的点集矩阵 = 变换矩阵T变换前的点集矩阵(图像上各点的新齐次坐标) (图像上各点的原齐次坐标),设变换矩阵T为,则上述变换可以用公式表示为,=,图像上各点的新齐次坐标规范化后的点集矩阵为,引入齐次坐标后,表示2D图像几何变换的33阶矩阵的功能就完善了,我们可以用它完

8、成2D图像的各种几何变换。下面我们讨论33阶变换矩阵中各元素在变换中的功能。几何变换的33矩阵的一般形式为,33阶的矩阵T可以分成四个子矩阵。其中,这个22阶子矩阵可使图像实现变换中心在坐标原点的恒等、比例、反射(或镜像)、错切和旋转变换。l m这一行矩阵可以使图像实现平移变换。p qT这一列矩阵可以使图像实现透视变换,但当p=0, q=0时它无透视作用。s这一元素可以使图像实现全比例变换。例如,将图像进行全比例变换,即,将齐次坐标规范化后,x0i/s y0i/s 1T=xi yi 1T。由此可见,当s1时,图像按比例缩小;当0s1时,整个图像按比例放大;当s1时,图像大小不变。,6.2 图像

9、比例缩放6.2.1 图像比例缩放变换图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴方向按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fxfy,图像的比例缩放会改变原始图像像素间的相对位置,产生几何畸变。设原图像中的点P(x0,y0)比例缩放后,在新图像中的对应点为P(x,y),则P(x0,y0)和P(x,y)之间的对应关系如图6-3所示。,图6-3 比例缩放,比例缩放前后两点P(x0,y0)、P(x,y)之间的关系用矩阵形式可以表示为,(61),公式(6-1)的逆运算为,即,比例缩放所产生的

10、图像中的像素可能在原图像中找不到相应的像素点,需要进行近似处理。插值处理常用的方法有两种,一种是直接赋值为和它最相近的像素值,另一种是通 过一些插值算法来计算相应的像素值。前一种方法计算简单,但会出现马赛克现象;后者处理效果要好些,但是运算量也相应增加。在下面的算法中我们直接采用了前一种方法。 实际上,这也是一种插值算法,称为最邻近插值(Nearest Neighbor Interpolation)或者最近邻域法。,下面首先讨论图像的比例缩小。最简单的比例缩小是当fx=fy=1/2 时,图像被缩到1/4大小,缩小后图像中的(0,0)像素对应于原图像中的(0,0)像素;(0,1)像素对应于原图像

11、中的(0,2)像素;(1,0)像素对应于原图像中的(2,0)像素,依此类推。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。此时,只需在原图像基础上,每行隔一个像素取一点,每隔一行进行操作。即取原图的偶(奇)数行和偶(奇)数列构成新的图像,如图6-4所示。如果图像按任意比例缩小,则需要计算选择的行和列。,图6-4 图像缩小到1/4,如果MN大小的旧图像F(x,y)缩小为kMkN大小(k1)的新图像I(x,y),则I(x,y)=F(int(cx),int(cy) 式中,c=1/k。由此公式可以构造出新图像,如图6-5所示。,图6-5 图像按任意比例缩小,当fxfy(fx, fy0)时,图

12、像不按比例缩小,这种操作因为在x方向和y方向的缩小比例不同,一定会带来图像的几何畸变。图像不按比例缩小的方法是:如果MN大小的旧图像F(x,y)缩小为k1Mk2N大小,(k11, k21)的新图像I(x,y),则I(x,y)=F(int(c1x),int(c2y) 其中,由此公式可以构造出新图像。,图像的缩小操作过程,就是如何在现有的信息里挑选所需要的有用信息。而在图像的放大操作中,则需要对尺寸放大后所多出来的空格填入适当的像素值,这是信息的估计问题,所以较图像的缩小要难一些。 同理,当fx=fy=2时,图像被按全比例放大4倍,放大后图像中的(0,0)像素对应于原图中的(0,0)像素;(0,1

13、)像素对应于原图中的(0,0.5)像素,该像素不存在,可以近似为(0,0)也可以近似 (0,1);(0,2)像素对应于原图像中的(0,1)像素;(1,0)像素对应于原图中的(0.5,0),它的像素值近似于(0,0)或(1,0)像素;(2,0)像素对应于原图中的(1,0)像素,依此类推。其实是将原图像每行中的像素重复取值一遍,然后每行重复一次。图6-6是原始图像,图6-7和图6-8是分别采用上述两种近似方法放大后的图像。,图6-6 原始图像,图6-7 按最近邻域法放大4倍的图像,图6-8 按插值法放大4倍的图像,一般地,按比例将原图像放大k倍时,如果按照最近邻域法则需要将一个像素值添在新图像的k

14、k子块中。如图6-9所示。显然,如果放大倍数太大,按照这种方法处理会出现马赛克效应。当fxfy(fx, fy0)时,图像在x方向和y方向按不同比例放大,此时,这种操作由于x方向和y方向的放大倍数不同,会产生图像的几何畸变。放大的方法是将原图像的一个像素添到新图像的一个k1k2的子块中去。为了提高几何变换后的图像质量,常常采用线性插值法。该方法的原理是:当求出的分数地址与像素点不一致时,求出周围四个像素点的距离比,根据该比率,由四个邻域的像素灰度值进行双线性插值,如图6-10所示。,图6-9 按最近邻域法放大5倍的图像,图6-10 线性插值法示意图,简化后的灰度值计算式如下:,(62),式中:g

15、(x,y)为插值后坐标(x,y)处的灰度值;f(x,y)为插值前坐标(x,y)处的灰度值;x,y 分别为不大于x、y的整数。关于这个问题的详细算法及其实现,读者可以参考有关参考文献。,6.2.2 比例缩放的实现按照公式(6-1)以及最近邻域法,可以编写一个实现图像比例缩放的函数ZoomImage(),从而实现图像的比例缩放,如图6-11所示。,图6-11 图像的比例缩放,下面给出这个函数的结构和主要算法。/*/函数名称:BOOL ZoomImage() /基本功能:本函数对传入的CDibObject对象中的图像进行缩放操作。如果进行此调整之前/ 没有指定一个CDibObject对象指针,则必须

16、在调整时加以指定/参数说明:float fXZoomRatio X轴方向缩放比率 float fYZoomRatio Y轴方向缩放比率/ BOOL bBilinear TRUE为双线性插值,FALSE为最邻近插值/ CDibObject *pDibObject,默认为NULL,/返回值:BOOL,成功返回TRUE,失败返回FALSE/*BOOL CGeoTrans:ZoomImage(float fXZoomRatio,float fYZoomRatio,BOOL bBilinear, CDibObject *pDibObject) /定义变量,获得原图像指针及其图像信息,计算新图/像的大小,为新图像分配内存等及用255 (白色)填充新 /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号