1、(等比例)缩小(不等比例)缩小旋转变形图像的几何变换(实质及分类) 图像的几何变换是指使(用户获得或设计的)原始图像按照需要产生大小、形状和位置的变化。 不改变图像的象素值,而是改变象素所在的几何位置。图像的位置变换平移、镜像、旋转图像的形状变换放大、缩小、错切图像的复合变换透视变换图像的几何变换几何变换基础图像比例缩放图像平移图像镜像图像旋转图像复合变换透视变换几何变换基础 【问题】变换中心在坐标原点的比例缩放、反射、错切和旋转等二维图像的几何变换可以用22的变换矩阵表示和实现。22的变换矩阵不能实现图像的平移以及绕任意点的比例缩放、反射、错切和旋转等二维图像的几何变换。 【解决方法】齐次坐
2、标使得可以用统一的矩阵线性变换形式表示和实现常见的二维图像的几何变换。dcbaT齐次坐标 点P0(x0, y0)平移到P(x, y)。x、 y方向的平移量分别为x、y。 变换的矩阵表示形式yyyxxx00yxyxyx001001yx1001TdcbaT平面上点的变换矩阵中没有引入平移常量,无论a、b、c、d取什么值,都不能实现上述的平移变换。引入23阶变换矩阵(第一、二列构成单位矩阵,第三列元素为平移常量)。变换前后的坐标关系只需将变换矩阵(23)乘以图像的点集矩阵(2n)即可实现二维图像的几何变换。齐次坐标 【问题】二维图像对应的点集矩阵是2n阶的,而扩展后的变换矩阵是23阶的矩阵,这不符合
3、矩阵相乘时要求前者的列数与后者的行数相等的规则。 【解决方法】在点的坐标列矩阵x yT中引入第三个元素,增加一个附加坐标,扩展为31的列矩阵x y 1T,这样用三维空间点(x, y, 1)表示二维空间点(x, y)实现平移变换。yx1001Tyxyyxxyxyx0000011001PTP齐次坐标 通常将23阶矩阵扩充为33阶矩阵以拓宽功能。 这种用n1维向量表示n维向量的方法称为齐次坐标表示法。二维图像中的点坐标(x, y)通常表示成齐次坐标(Hx, Hy, H)。H表示非零的任意实数。当H1时, (x, y, 1)就称为点(x, y)的规范化齐次坐标。规范化齐次坐标的前两个数是相应二维点的坐
4、标, 没有变化,仅在原坐标中增加了H1的附加坐标。1001001yxT111100100100000yxyyxxyxyxPTP齐次坐标(几何意义) 齐次坐标相当于点(x, y)落在三维空间H1的平面上。 将XOY平面内的三角形abc的各顶点表示成规范化齐次坐标(xi, yi, 1) (i=1, 2, 3)的形式,就变成H1平面内的三角形a1b1c1的各顶点。二维图像几何变换矩阵 采用齐次坐标,并将变换矩阵改成33阶的形式后,便可实现所有二维图像几何变换的基本变换。标图像上各点的原齐次坐标图像上各点的新齐次坐变换前的点集矩阵变换矩阵T变换后的点集矩阵niiyx2niiyx31smlqdcpbaT
5、nnnnnnyyyxxxTHHHyHyHyHxHxHxH3212132121111nnnyyyxxx32121111nnnHHHyHyHyHxHxHxH32121二维点集矩阵变换矩阵齐次坐标形式的点集矩阵新齐次坐标规范化后的点集矩阵新齐次坐标的点集矩阵图像的几何变换几何变换基础图像比例缩放图像平移图像镜像图像旋转图像复合变换透视变换图像比例缩放 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍, 在y轴方向按比例缩放fy倍,从而获得一幅新的图像。如果fxfy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fxfy,图像的比例缩放会改变原始图像的像素间的相对
6、位置,产生几何畸变。原图像中的点P0(x0, y0)比例缩放后,在新图像中的对应点为P(x, y)。11000000100yxfyfxyx1100010001100yxfyfxyxfxyyfxxx00图像比例缩放(插值) 比例缩放所产生的图像中的像素可能在原图像中找不到相应的像素点,这样就必须进行插值处理。直接赋值为和它最相近的像素值最邻近插值法(Nearest Neighbor Interpolation)。最近邻插值法计算简单,但会出现马赛克现象。通过(线性、样条、)插值算法计算相应的像素值。处理效果要好,但运算量也相应增加。图像的尺寸减半图像比例缩放(缩小) 最简单的比例缩小是当fx=f
7、y=1/2时,图像被缩到一半大小,此时缩小后图像中的(0,0)像素对应于原图像中的(0,0)像素; (0,1)像素对应于原图像中的(0,2)像素; (1,0)像素对应于原图像中的(2, 0)像素,依此类推。 图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。此时,只需在原图像基础上,每行隔一个像素取一点,每隔一行进行操作,即取原图的偶(奇)数行和偶(奇)数列构成新的图像。图像缩小一半图像按任意比例缩小图像比例缩放(缩小) 如果图像按任意比例缩小,则需要计算选择的行和列。 MN大小的原图像F(x,y)缩小为kMkN大小(k1)的新图像I(x,y),c=1/k。ycxcFyxIint,int
8、,图像按任意比例缩小图像比例缩放(缩小) 当fxfy(fx, fy0)时,图像不按比例缩小,这种操作因为在x方向和y方向的缩小比例不同,一定会带来图像的几何畸变。 MN大小的图像F(x,y)缩小为k1Mk2N(k11,k20) & (y(w-1)*NR+z)0) & (x(w-1)*NR+z)=M) & (y(w-1)*NR+z)=N) ImR(w,z) = Im(x(w-1)*NR+z),y(w-1)*NR+z); end end end最近邻插值图像旋转(Matlab编程实例) clear;clc; Im=imread(Fig0335(a).jpg); figure(Name,Image,
9、Numbertitle,off); imshow(Im,);impixelinfo; theta=45/180*pi; ImR,MR,NR=ImageRotation(Im,theta); figure(Name,Image after Rotating,Numbertitle,off); imshow(ImR,);impixelinfo;图像旋转(实例)旋转15并进行插值处理的图像图像的几何变换几何变换基础图像比例缩放图像平移图像镜像图像旋转图像复合变换透视变换图像复合变换 图像的复合变换是指对给定的图像连续施行若干次如前所述的平移、镜像、比例、旋转等基本变换后所完成的变换,图像的复合变换又
10、叫级联变换。 利用齐次坐标,对给定的图像依次按一定顺序连续施行若干次基本变换,其变换的矩阵仍然可以用33阶的矩阵表示。复合变换的矩阵等于基本变换的矩阵按顺序依次相乘得到的组合矩阵。 设对给定的图像依次进行了基本变换F1,F2,FN,它们的变换矩阵分别为T1,T2,TN,按照几何变换公式的表示形式,图像复合变换的矩阵T可以表示为:T=TNTN-1T1。图像复合变换 常见的复合变换同一种基本变换依次连续进行若干次例如,复合平移、复合比例缩放、复合旋转等等。包含有不同的基本变换例如,图像的转置、绕任意点的比例缩放、绕任意点的旋转等等。图像复合变换 复合平移1001001100100110010012
11、121112212yyxxyxyxTTT相对原点(图像中央)变换图像复合变换 复合比例1000000100000010000002121112212ddaadadaTTT相对原点(图像中央)变换图像复合变换 复合旋转1000cossin0sincos1000cossin0sincos1000cossin0sincos212121211111222212TTT相对原点(图像中央)变换图像复合变换 如果要相对某一个参考点作变换,则要使用含有不同种基本变换的图像复合变换。 不同的复合变换, 其变换过程不同,但是无论它的变换过程多么复杂,都可以分解成一系列基本变换。 相应地, 使用齐次坐标后,图像复合
12、变换的矩阵由一系列图像基本几何变换矩阵依次相乘而得到。图像复合变换 在进行图像的比例缩放、图像的旋转变换时,整个变换过程由两部分组成,即需要两个独立的算法。几何变换用它描述每个像素如何从其初始位置移动到终止位置。灰度级插值在一般情况下,原始(输入)图像的位置坐标(x, y)为整数,而变换后(输出)图像的位置坐标为非整数,即产生“空穴”,反过来也是如此。因此,一般地,在进行图像的几何变换时,除了要进行其本身的几何变换外,还要进行灰度级插值处理。灰度级插值处理方法 像素移交(pixel carry over)向前映射法把几何变换想像成将输入图像的灰度一个一个像素地转移到输出图像中。如果一个输入像素
13、被映射到四个输出像素之间的位置,则其灰度值就按插值算法在四个输出像素之间进行分配。 像素填充(pixel filling) 向后映射算法输出像素一次一个地映射回到原始(输入)图像中,以便确定其灰度级。如果一个输出像素被映射到四个输出像素之间,则其灰度值由灰度级插值决定。向后空间变换是向前变换的逆变换。常用插值方法:零阶插值(最近邻插值、最近邻域法)、一阶插值(双线性插值法)灰度级插值处理方法(双线性插值法)0 , 00 , 10 , 00 ,ffxfxf 1 , 01 , 11 , 01 ,ffxfxf0 ,1 ,0 ,xfxfyxfyxf图像复合变换示例 图像旋转绕一个指定点(a, b)旋转
14、:先要将坐标系平移到该点,再进行旋转,然后将旋转后的图像平移回原来的坐标原点。 将坐标系平移到坐标系处,其中坐标系的原点再坐标系中的坐标为(a,b)。110010011IIIIIIyxbayx110010011IIIIIIyxbayx图像复合变换示例110010011000cossin0sincos100100111000cossin0sincos100100111001001100IIIIIIIIyxbadcyxdcyxdcyx110010011000cossin0sincos1001001100yxdcbayx1100cossincossinsincossincos100yxbdcadcy
15、xbdcyxyadcyxxcossincossinsincossincos00图像复合变换示例21,21 lHeightlWidth21,21 lHeightlWidth21,21lHeightlWidth21,21lHeightlWidthcos21sin21,sin21cos211, 1lHeightlWidthlHeightlWidthfDstYfDstXcos21sin21,sin21cos212, 2lHeightlWidthlHeightlWidthfDstYfDstXcos21sin21,sin21cos213, 3lHeightlWidthlHeightlWidthfDstYf
16、DstXcos21sin21,sin21cos214, 4lHeightlWidthlHeightlWidthfDstYfDstX图像复合变换示例23, 14maxfDstYfDstXfDstYfDstXlNewWidth23, 14maxfDstYfDstXfDstYfDstXlNewHeightbdcfadcfcossinsincos2121lWidtha21lHeightb21lNewWidthc21lNewHeightd21cos21sin2121sin21cos2121lHeightlNewHeightlNewWidthflWidthlNewHeightlNewWidthf2010cossinsincosfyxyfyxx图像复合变换(编程)图像复合变换(实例)图像的几何变换几何变换基础图像比例缩放图像平移图像镜像图像旋转图像复合变换透视变换透视变换透视变换(编程)透视变换(实例)习题Thanks !