资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 图像的几何变换,我们知道,图像是对三维实际景物的平面投影。为了观测需要,常常需要进行各种不同的几何变换。,注意一点,实际上几何变换不改变像素值,而是改变像素所在的位置。,4.1 图像的位置变换,所谓图像的位置变换是指图像的大小和形状不发生变化,只是将图像进行旋转和平移。,图像的位置变换主要是用于目标识别中的,目标配准,。,4.1.1 图像的平移,图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:,注意:,x,方向与,y,方向是矩阵的行列方向,4.1.1 图像的平移,注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信息。,下移,1,行,右移,2,列,4.1.2 图像的镜像,镜像分为水平镜像和垂直镜像,水平镜像计算公式为:,1 2 3,1,2,3,1,2,3,-3 -2 -1,发生问题:矩阵下标不能为负,平移,:,4.1.2 图像的镜像,同理:垂直镜像计算公式为:,1 2 3,1,2,3,1 2 3,-3,-2,-1,发生问题:矩阵下标不能为负,4.1.3 图像的旋转,图像的旋转计算公式如下:,这个计算公式计算出的值为小数,而坐标值为正整数。,这个计算公式计算的结果值所在范围与原来的值所在的范围不同。,因此需要,前期处理,:扩大画布,取整处理,平移处理,4.1.3.1 图像旋转的前期处理,图像旋转之前,为了避免信息的丢失,画布的扩大是最重要的,根据旋转点的不同,坐标的平移与画布的设置有如下两种方法。,图像的旋转例题,结论:按照图像旋转计算公式获得的结果与想象中的差异很大,。,4.1.3.2 图像旋转处理的隐含问题,图像旋转之后,出现了两个问题:,1)像素的排列不是完全按照原有的相邻关系。这是因为相邻像素之间只能有8个方向,如下图所示。,2)会出现许多的空洞点。,下面,我们通过一个实际例子,来看这两个问题带来的,图像画面效果,上的问题。,4.1.3.2 图像旋转的后处理,图像旋转出现的两个问题的,本质,都是因为像素值的填充是不连续的。,因此可以采用插值填充的方法来解决。,4.1.3.2 图像旋转的后处理,最简单的方法是,行插值(列插值),方法,1. 找出当前行的最小和最大的非背景点的坐标,记,作:(i,k1)、(i,k2)。,2. 在(k1,k2)范围内进行插值,插值的方法是:空,点的像素值等于前一点的像素值。,3. 同样的操作重复到所有行。,行插值处理例题,经过插值处理之后,,图像效果,就变得自然。,思考一个问题:,边界的锯齿如何处理?,4.2 图像的形状变换,所谓图像的形状变换是指图像的形状发生了变化,包括:,1.平面上的变换,即放大、缩小等。,2.投影变换,即三维物体投影到平面时所产生的形状变化。,4.2.1 图像的缩小,分为按比例缩小和不按比例缩小两种。,图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。,(a) 按比例缩小 (b) 不按比例缩小,4.2.1.1 图像缩小的实现方法,图像缩小实际上就是对原有的多个数据进行挑选或处理,获得期望缩小尺寸的数据,并且尽量保持原有的特征不丢失。,最简单的方法就是等间隔地选取数据。,4.2.1.1 图像缩小的实现方法,设原图像大小为M*N,缩小为,k,1,M*k,2,N,(k,1,1,k,2,1,k,2,1)。,算法步骤如下:,1)设旧图像是,F(i,j), i=1,2,M, j=1,2,N.,新图像是,I(x,y), x=1,2,k,1,M, y=1,2,k,2,N.,2),I(x,y)=F(c,1,*i,c,2,*j),c,1,=1/k,1,c,2,=1/k,2,图像放大例题,K1=1.5, k2=1.2,1,2,3,3,3,4,5,6,6,6,4,5,6,6,6,i=1,2, j=1,3. x=1,3, y=1,4.,x=i1,i2,i2,y=j1,j2,j3,j3,j3.,1,2,3,4,5,6,注意:不按比例放大会导致几何畸变。,1,2,2,3,3,4,5,5,6,6,4,5,5,6,6,4.2.2.3 图像放大的问题,思考一个问题:,如果放大倍数太大,按照前面的方法处理会出现,马赛克,效应。如果这个问题交给你,有没有办法解决?或者想办法至少使之有所改善?,4.2.3 图像错切,图像的错切变换实际上是平面景物在投影平面上的,非垂直投影效果,。,错切的计算公式如下:,图像错切的例题,可以看到,错切之后原图像的像素排列方向发生改变。与前面旋转不同的是,,x,方向与,y,方向独立变化。,4.3 三维物体的投影,我们知道,所得到的图像大多是三维物体在二维平面上的投影信息。,三维物体与二维图像之间的关系在计算机图形学领域中用的非常多,在图像处理领域中,可以用来观察和分析物体的情况。,4.3.1 投影变换,投影变换是指在某个视点下,三维物体在平面上的投影。,如下图所示(参考教材P42 图3.4),当视点在 z轴上时,物体上的点p(x,y,z)在平面上的投影P(X,Y,0)的计算公式如下:,x,y,z,V,p=(0,0,h),视点,p(x,y,z,),空间上的点,P(X,Y,0,),投影面上的点,例题,p1=(1,1,0) p2=(2,1,0) p3=(1,2,0) p4=(2,2,0),P5=(1,1,1) p6=(2,1,1) p7=(1,2,1) p8=(2,2,1),h=2,因为:,z=0,时,,X=hx/h=x, Y=hy/h=y,z=1,时,,X=hx/(h-1)=2x Y=hy/(h-1)=2y,所以:,P1=(1,1) P2=(2,1) P3=(1,2) P4=(2,2),P5=(2,2) P6=(4,2) P7=(2,4) P8=(4,4),例题,p,1,p,3,p,4,p,2,p,5,p,6,p,7,p,8,x,z,y,从视觉效果看,好象不是正方体。这是因为,z,轴的方向与我们的习惯相反。,4.3.2 透视变换,透视变换是指照相机拍摄下来的照片。,如下图所示(参考教材P43 图3.5),当视点在 z轴上时,物体上的点p(x,y,z)在平面上的投影P(X,Y,0)的计算公式为:,p(x,y,z,),空间上的点,P(X,Y,0,),投影面上的点,x,y,z,透镜位置,例题,p1=(1,1,0) p2=(2,1,0) p3=(1,2,0) p4=(2,2,0),P5=(1,1,1) p6=(2,1,1) p7=(1,2,1) p8=(2,2,1),f=2,因为:,z=0,时,,X=fx/f=x, Y=fy/f=y,z=1,时,,X=fx/(f+1)=2/3x Y=fy/(f+1)=2/3y,所以:,P1=(1,1) P2=(2,1),P3=(1,2) P4=(2,2),P5=(2/3,2/3) P6=(4/3,2/3),P7=(2/3,4/3) P8=(4/3,4/3),例题,p,1,p,3,p,4,p,2,p,5,p,6,p,7,p,8,x,z,y,图像平面,镜前平面,注意:我们所看到的计算机图形学生成的图像效果是按照写实性原则来处理的。,计算机图形学的立体效果,4.4 几何畸变的校正,当镜头没有正对拍摄目标物时,即目标物不是垂直于成像面上时,就会发生几何畸变。如教材P58图4.5所示。,可以通过下式给出的计算公式所定义的线性几何变换将其进行校正:,变换参数可通过对应点的坐标来确定。,作 业(共1题),1. 设图像为:,1)请将它旋转45度;,2)请将它在x方向进行45度错切。,图像的不按比例任意缩小,图像的成倍放大效果,图像大比例放大时的马赛克效应,放大10倍,图像的不按比例放大,图像的旋转效果,图像旋转中的插值处理效果,图像的错切效果,图像配准示例,待测印鉴,标准印鉴,与原图比较,有位置,角度偏差,
展开阅读全文