




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图像几何变换讲解课件1第3章图像的几何变换第3章图像的几何变换2待测印鉴标准印鉴与原图比较,有位置,角度偏差待测印鉴标准印鉴与原图比较,有位置,角度偏差3图像几何变换讲解课件4三维的平移点击图片播放视频三维的平移点击图片5近朱者赤近朱者赤6图像的几何变换图像的几何变换包括了图像的形状变换和图像的位置变换。图像的形状变换是指图像的放大、缩小与错切。图像的位置变换是指图像的平移、镜像与旋转。图像的仿射变换描述。图像的变形及几何畸变校正图像的几何变换不改变像素的值,只改变像素的位置。图像的几何变换图像的几何变换包括了图像的形状变换和图像的位置7图像的形状变换图像的形状变换通常在目标物识别中使用。图像的形状变换主要是指图像的缩小、放大与错切。图像的形状变换图像的形状变换通常在目标物识别中使用。8图像的形状变换应用
——目标物识别如图所示,要判别图中的某个果子是苹果还是李子,要将该图像进行放大或者是缩小,才能够进行正确的比较与识别。图像的形状变换应用
——9图像的比例缩放图像的比例缩放是指将给定的图像在x轴方向按比例缩放a倍,在y轴方向按比例缩放b倍,从而获得一幅新的图像。如果a=b,称这样的比例缩放为图像的全比例缩放。如果a不等于b,图像的比例缩放会改变原始图像的像素间的相对位置,产生几何畸变。图像的比例缩放图像的比例缩放是指将给定的图像在x轴方向按比例10变换原理g(X,Y)=f(x,y)g(ax,by)=f(x,y)
变换原理g(X,Y)=f(x,y)11具体实现fori=1:rowforj=1:colm=ceil(zi*i);n=ceil(zj*j);B(m,n)=A(i,j);endend}row:图像宽度,高度,行数col:图像长度,列数具体实现fori=1:rowrow:图像宽度,高度,行12效果图示例效果图示例13几何变换方法1)向前映射法通过输入图像像素位置,计算输出图像对应像素位置;将该位置像素的灰度值按某种方式分配到输出图像相邻四个像素.几何变换方法1)向前映射法通过输入图像像素位置,计算输出图14存在问题pqrpr存在问题pqrpr152向后映射法2)向后映射法通过输出图像像素位置,计算输入图像对应像素位置;根据输入图像相邻四个像素的灰度值计算该位置像素的灰度值.2向后映射法2)向后映射法通过输出图像像素位置,计算输入16两种映射方法的对比对于向前映射:每个输出图像的灰度要经过多次运算;对于向后映射:每个输出图像的灰度只要经过一次运算。实际应用中,更经常采用向后映射法。两种映射方法的对比实际应用中,更经常采用向后映射法。17下面看缩小和放大的具体应用下面看缩小和放大的具体应用18图像的缩小分为按比例缩小和不按比例缩小两种。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。(a)按比例缩小(b)不按比例缩小图像的缩小分为按比例缩小和不按比例缩小两种。(a)按比例缩19图像缩小
——实现思路图像缩小实际上就是对原有的多个数据进行挑选或处理,获得期望缩小尺寸的数据,并且尽量保持原有的特征不丢失。最简单的方法就是等间隔地选取数据。图像缩小
——实现思路图像缩小实际20图像缩小
——实现方法设原图像大小为M*N,缩小为k1M*k2N,(k1<1,k2<1)。算法步骤如下:1)设原图为F(i,j),i=1,2,…,M,j=1,2,…,N.压缩后图像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*x,c2*y)
其中,c1=1/k1c2=1/k2图像缩小
——实现方法设原图像21图像缩小
——例题K1=0.6,k2=0.7579101112131516171825272829303133343536i=[1,6],j=[1,6].x=[1,6*0.6]=[1,4],y=[1,6*0.75]=[1,5].x=[1/0.6,2/0.6,3/0.6,4/0.6]=[1.67,3.33,5,6.67]=[i2,i3,i5,i6],y=[1/0.75,2/0.75,3/0.75,4/0.75,5/0.75]=[j1,j3,j4,j5,j6].123456789101112131415161718192021222324252627282930313233343536Y图像缩小
——例题K1=0.6,22图像放大图像放大从字面上看,是图像缩小的逆操作,但是,从信息处理的角度来看,则难易程度完全不一样。图像缩小是从多个信息中选出所需要的信息,而图像放大则是需要对多出的空位填入适当的值,是信息的估计。图像放大图像放大从字面上看,是图像缩小的逆操作,但是,从信息23图像放大
——实现思路最简单的思想是,如果需要将原图像放大为k倍,则将原图像中的每个像素值,填在新图像中对应的k*k大小的子块中。放大5倍显然,当k为整数时,可以采用这种简单的方法。图像放大
——实现思路最简单的思想是,24图像放大
——实现方法设原图像大小为M*N,放大为k1M*k2N,(k1>1,k2>1)。算法步骤如下:1)设旧图像是F(i,j),i=1,2,…,M,j=1,2,…,N.新图像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*i,c2*j)
c1=1/k1c2=1/k2图像放大
——实现方法设原图像25K1=1.2,k2=1.1123345664566i=[1,2],j=[1,3].x=[1,3],y=[1,4].x=[1/1.2,2/1.2,3/1.2]=[i1,i2,i2],y=[1/1.1,2/1.1,3/1.1,4/1.1]=[j1,j2,j3,j3].123456图像放大
——实现方法K1=1.2,k2=1.1123345664566i=[126最近邻点法代码/*-----------scale_near---图像缩放------- A:输入图像数据 B:输出图像数据row:图像宽度,高度,行数col:图像长度,列数zi:i轴放大倍数 zj:j轴放大倍数--------------------------------*/最近邻点法代码/*-----------scale_near27
%ij为新图像坐标,mn为原图像坐标
fori=1:row*ziforj=1:col*zjm=ceil(i/zi);n=ceil(j/zj);B(i,j)=A(m,n);endend%ij为新图像坐标,mn为原图像坐标28较大倍数图较大倍数图29
思考一个问题:如果放大倍数太大,按照前面的方法处理会出现马赛克效应。如果这个问题交给你,有没有办法解决?或者想办法至少使之有所改善?图像放大
——思考问题思考一个问题:图像放大
——30图按最近邻域法放大五倍的图像图按最近邻域法放大五倍的图像31双线性内插(bilinearinterpolationapproach)abp1-p双线性内插(bilinearinterpolationa32图线性插值法示意图f1=(1-p)×f([x],[y])+p×f([x]+1,[y])f2=(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)f(x,y)=(1-q)×f1+q×f2图线性插值法示意图f1=(1-p)×f([x],33计算公式f(x,y)=(1-q){(1-p)×f([x],[y])+p×f([x]+1,[y])}+q{(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)}式中:f(x,y)为坐标(x,y)处的灰度值,[x]、[y]分别为不大于x,y的整数。计算公式f(x,y)=式中:f(x,y)为坐标(x,y)处的34已知原图像中四点的灰度f(101,150)=10,f(102,150)=50,f(101,151)=40,f(102,151)=100,新图像g是f沿x轴放大5倍,y轴放大2倍构成,求g(506,301)的灰度。f(101.2,150.5)m=101,n=150,p=0.2,q=0.5f(101.2,150.5)=(1-0.5)*{(1-0.2)*10+0.2*50}+0.5*{(1-0.2)*40+0.2*100}=35已知原图像中四点的灰度f(101,150)=10,f(1035双线性插值代码/*-----------scale---图像缩放------- A:输入图像数据 B:输出图像数据row:图像宽度,高度,行数col:图像长度,列数zi:i放大倍数(竖直) zj:j放大倍数(水平)--------------------------------*/双线性插值代码/*-----------scale---图像36fori=1:row*ziforj=1:col*zjm=floor(i/zi);n=floor(j/zj);p=i/zi-m;q=j/zj-n;ifm>=1&&n>=1&&m<row&&n<colB(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendendfori=1:row*zi37图像示例图像示例38图像错切
——基本概念图像的错切变换实际上是平面景物在投影平面上的非垂直投影效果。因为绝大多数图像都是三维物体在二维平面上的投影得到的,所以需要研究图像的错切现象。图像错切
——基本概念图像的错切变换实39图像错切
——数学模型错切的数学模型如下:
图像错切
——数学模型错切的数学模型如40图像错切
——示例
可以看到,错切之后原图像的像素排列方向发生改变。该坐标变化的特点是,x方向与y方向独立变化。图像错切
——示例可以看到,错切41图像的位置变换所谓图像的位置变换是指图像的大小和形状不发生变化,只是将图像进行平移、镜像和旋转。图像的位置变换主要是用于目标识别中的目标配准。图像的位置变换所谓图像的位置变换是指图像的大小和形状不发生变42图像的平移图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:注意:x方向与y方向是矩阵的行列方向。即:g(x,y)=f(x’,y’)图像的平移图像的平移非常简单,所用到的是中学学过的直角坐标系43图像的平移
——示例注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信息。下移1行,右移2列y=[1,2,3];x=[1,2,3]y’=[2,3,4];x’=[3,4,5]123123123451234图像的平移
——示例注意:平移后44图像平移程序% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数% pi,pj:水平垂直(行,列)偏移量%ij为新图像坐标,mn为原图像坐标fori=1:rowforj=1:colm=i-floor(pi);n=j-floor(pj);ifm>0&&n>0&&m<row&&n<colB(i,j)=A(m,n);elseB(i,j)=128;
endend图像平移程序% A:输入图像数据 B:输出图像数据45图像的镜像所谓的镜像,通俗地讲,是指在镜子中所成的像。其特点是左右颠倒或者是上下颠倒。镜像分为水平镜像和垂直镜像。
图像的镜像所谓的镜像,通俗地讲,是指在镜子中所成的像。其特点46图像的水平镜像水平镜像计算公式如下(图像大小为M*N)
因为表示图像的矩阵坐标不能为负,因此需要在进行镜像计算之后,再进行坐标的平移。0-1-2-3123图像的水平镜像水平镜像计算公式如下(图像大小为M*N)47图像的水平镜像示例:123123123-1-2-3321123图像的水平镜像示例:12311-1-2-48实现程序fori=1:rowforj=1:colm=i;n=col+1-j;B(i,j)=A(m,n);endend% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数实现程序fori=1:row% A:输入图像数据 B:输49图像的垂直镜像垂直镜像计算公式如下(图像大小为M*N)
因为表示图像的矩阵坐标不能为负,因此需要在进行镜像计算之后,再进行坐标的平移。图像的垂直镜像垂直镜像计算公式如下(图像大小为M*N)50图像的垂直镜像示例:123123123-1-2-3012210图像的垂直镜像示例:12311251实现程序fori=1:rowforj=1:colm=row+1-i;n=j;B(i,j)=A(m,n);
endend% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数实现程序fori=1:row% A:输入图像数据 B:输52图像的旋转图像的旋转计算公式如下:
这个计算公式计算出的值为小数,而坐标值为正整数。这个计算公式计算的结果值所在范围与原来的值所在的范围不同。因此需要前期处理:扩大画布,取整处理,平移处理
。图像的旋转图像的旋转计算公式如下:这个计算53图像旋转的前期处理
——画布的扩大图像旋转之前,为了避免信息的丢失,画布的扩大是最重要的。画布扩大的原则是:以最小的面积承载全部的画面信息。图像旋转的前期处理
——54图像旋转的前期处理
——画布的扩大画布扩大的简单方法是:根据公式计算出i’和j’的最大、最小值,即i’min、i’max和j’min,j’max。画布大小为:i’max–i’min、j’max
–j’min。图像旋转的前期处理
——55图像旋转的前期处理
——画布的扩大旋转后图像的画布大小为:例平移量为△i’=2;△j’=0。图像旋转的前期处理
——56图像旋转
——按照确定画布时的平移量取整结论:按照图像旋转计算公式获得的结果与想象中的差异很大。对原图的(1,1)像素,i=1,j=1取整后,该点在新图的(2,1)上。对原图的(1,2)像素,i=1,j=2取整后,该点在新图的(2,2)上。必须进行后处理操作。图像旋转
——按照确定画布时的平移量取整结57图像旋转后处理
——旋转后的隐含问题分析图像旋转之后,出现了两个问题:1)像素的排列不是完全按照原有的相邻关系。这是因为相邻像素之间只能有8个方向(相邻为45度),如下图所示。2)会出现许多的空洞点。示例图像旋转后处理
——旋转后的隐含58图像旋转后处理
——解决问题的思路出现问题的核心是像素之间的连接是不连续的。相邻像素的角度是无法改变的,所以只能通过增加分辨率的方法来从整体上解决这个问题。采用某种填补方法来填充空洞。图像旋转后处理
——解决问题59图像旋转的后处理
——插值最简单的方法是行插值(列插值)方法。1)找出当前行的最小和最大的非背景点的坐标,记作:(i,k1)、(i,k2)。如右图有:(1,3)、(1,3);(2,1)、(2,4);(3,2)、(3,4);(4,2)、(4,3)。图像旋转的后处理
——60图像旋转的后处理
——插值2)在(k1,k2)范围内进行插值,插值的方法是:空点的像素值等于前一点的像素值。3)同样的操作重复到所有行。图像旋转的后处理
——61实现fori=1:rowforj=1:colm0=i*cos(theta)+j*sin(theta);n0=-i*sin(theta)+j*cos(theta);m=floor(m0);n=floor(n0);p=m0-m;q=n0-n;ifm>=1&&n>=1&&m<row&&n<colB(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendend实现fori=1:row62图像旋转的后处理
——插值效果分析
经过插值处理之后,图像效果就变得自然。思考一个问题:边界的锯齿如何处理?图像旋转的后处理
——63图像的仿射变换图像仿射变换提出的意义是采用通用的数学影射变换公式,来表示前面给出的几何变换。回顾前面讲过的几何变换,除了图像的平移,其他的变换均为线性变换,比较容易处理。为了适应平移,提出了齐次坐标的概念。平移公式:图像的仿射变换图像仿射变换提出的意义是采用通用的数学影射变换64图像的仿射变换
——齐次坐标原坐标为(x,y),定义齐次坐标为:(wx,wy,w)实质是通过增加一个坐标量来解决问题。平移:图像的仿射变换
——齐次坐65图像的仿射变换
——通式有了齐次坐标
,就可以定义仿射变换
如下:仿射变换公式中,取齐次坐标的w=1。用矩阵形式表示为:图像的仿射变换
——通式有66图像的仿射变换
——图像几何变换表示图像的平移:图像的旋转:图像的仿射变换
——图像几何67图像的仿射变换
——图像几何变换表示图像的水平镜像:图像的垂直镜像:图像的仿射变换
——图像几何68图像的仿射变换
——图像几何变换表示图像的垂直错切:图像的水平错切:不同几何变换实际上对应着不同的变换矩阵。图像的仿射变换
——图像几何69图像几何变换讲解课件70图象变形(Imagemorphing)图象变形(Imagemorphing)71图像几何变换讲解课件72图像几何变换讲解课件73图像几何变换讲解课件74图像几何变换讲解课件75图像几何变换讲解课件76图像几何变换讲解课件77图像几何变换讲解课件78图像几何变换讲解课件79图像几何变换讲解课件80图像几何变换讲解课件81图像几何变换讲解课件82点击图片播放视频变形的脸点击图片变形的脸83变形的狗嘴点击图片播放视频变形的狗嘴点击图片84ImagemorphingNote,wearewarpingfromoneimagetoadifferentimage.ComparewithEinsteinexample.
-usedinmotionpictures&animationImagemorphing85反过来变换,岂不更好?反过来变换,岂不更好?86点击图片播放视频返老还童不是梦(在屏幕上)成长点击图片返老还童不是梦(在屏幕上)成长87几何失真
图像在获取过程中,由于成像系统本身具有非线性、拍摄角度等因素的影响,会使获得的图像产生几何失真。几何失真系统失真非系统失真。系统失真是有规律的、能预测的;非系统失真则是随机的。当对图像作定量分析时,就要对失真的图像先进行精确的几何校正(即将存在几何失真的图像校正成无几何失真的图像),以免影响定量分析的精度。
图像的几何校正
几何失真图像的几何校正
88桶形失真(左图)和枕形失真(右图)的示例桶形失真(左图)和枕形失真(右图)的示例89几何校正方法
图像几何校正的基本方法是先建立几何校正的数学模型;其次利用已知条件确定模型参数;最后根据模型对图像进行几何校正。通常分两步:①图像空间坐标变换;首先建立图像像点坐标(行、列号)和物方(或参考图)对应点坐标间的映射关系,解求映射关系中的未知参数,然后根据映射关系对图像各个像素坐标进行校正;②确定各像素的灰度值(灰度内插)。几何校正方法①图像空间坐标变换;首先建立图像像点坐标(行、列90空间坐标变换实际工作中常以一幅图像为基准,去校正另一幅几何失真图像。通常设基准图像f(x,y)是利用没畸变或畸变较小的摄像系统获得的,而有较大几何畸变的图像用g(x´,y´)表示,下图是一种畸变情形。空间坐标变换91一关系式已知二关系式未知一关系式已知92设两幅图像几何畸变的关系能用解析式来描述。按照公式对应求解。设两幅图像几何畸变的关系能用解析式来描述。按照公式对应求解。93二关系式未知需先求解关系式,通常h1(x,y)和h2(x,y)可用多项式来近似二关系式未知需先求解关系式,通常h1(x,y)和h2(x,94
当n=1时,畸变关系为线性变换,
上述式子中包含a00、a10、a01、b00、b10、b016个未知数,至少需要3个已知点来建立方程式,解求未知数。
95当n=2时,畸变关系式为包含12个未知数,至少需要6个已知点来建立关系式,解求未知数。
当n=2时,畸变关系式为96测试靶对应的鱼眼图像测试靶对应的鱼眼图像973空间变换变形后的老虎校正后的老虎3空间变换变形后的老虎校正后的老虎98PS中图像的几何变换图像—旋转画布编辑—自由变换PS中图像的几何变换图像—旋转画布99TermsGeometriccorrection,Geometriccalibration:几何校正Spatialtransformation:空间变换Interpolation:插值Nearestneighborinterpolation:最近邻点内插Bilinearinterpolation:双线性内插TermsGeometriccorrection,Geo100TermsZoomin:放大Zoomout:缩小Imagerectification:图象矫正Imageregistration:图象定位,图象配准Projection:投影TermsZoomin:放大101TermsImagemorphing:图象变形Controlpoint:控制点Controlgrid:控制栅格Polynomialwarping:多项式卷绕TermsImagemorphing:图象变形102作业1.作业103图像的成倍放大效果示例图像的成倍放大效果示例104图像大比例放大时的马赛克效应放大10倍图像大比例放大时的马赛克效应放大10倍105图像旋转的效果示例图像旋转的效果示例106图像几何变换讲解课件107图像旋转中的插值效果示例图像旋转中的插值效果示例108图像的错切效果图像的错切效果109图像配准示例待测印鉴标准印鉴与原图比较,有位置,角度偏差图像配准示例待测印鉴标准印鉴与原图比较,有位置,角度偏差110图像几何变换讲解课件111图像几何变换讲解课件112水平镜像示例水平镜像示例113垂直镜像示例垂直镜像示例114图像几何变换讲解课件115第3章图像的几何变换第3章图像的几何变换116待测印鉴标准印鉴与原图比较,有位置,角度偏差待测印鉴标准印鉴与原图比较,有位置,角度偏差117图像几何变换讲解课件118三维的平移点击图片播放视频三维的平移点击图片119近朱者赤近朱者赤120图像的几何变换图像的几何变换包括了图像的形状变换和图像的位置变换。图像的形状变换是指图像的放大、缩小与错切。图像的位置变换是指图像的平移、镜像与旋转。图像的仿射变换描述。图像的变形及几何畸变校正图像的几何变换不改变像素的值,只改变像素的位置。图像的几何变换图像的几何变换包括了图像的形状变换和图像的位置121图像的形状变换图像的形状变换通常在目标物识别中使用。图像的形状变换主要是指图像的缩小、放大与错切。图像的形状变换图像的形状变换通常在目标物识别中使用。122图像的形状变换应用
——目标物识别如图所示,要判别图中的某个果子是苹果还是李子,要将该图像进行放大或者是缩小,才能够进行正确的比较与识别。图像的形状变换应用
——123图像的比例缩放图像的比例缩放是指将给定的图像在x轴方向按比例缩放a倍,在y轴方向按比例缩放b倍,从而获得一幅新的图像。如果a=b,称这样的比例缩放为图像的全比例缩放。如果a不等于b,图像的比例缩放会改变原始图像的像素间的相对位置,产生几何畸变。图像的比例缩放图像的比例缩放是指将给定的图像在x轴方向按比例124变换原理g(X,Y)=f(x,y)g(ax,by)=f(x,y)
变换原理g(X,Y)=f(x,y)125具体实现fori=1:rowforj=1:colm=ceil(zi*i);n=ceil(zj*j);B(m,n)=A(i,j);endend}row:图像宽度,高度,行数col:图像长度,列数具体实现fori=1:rowrow:图像宽度,高度,行126效果图示例效果图示例127几何变换方法1)向前映射法通过输入图像像素位置,计算输出图像对应像素位置;将该位置像素的灰度值按某种方式分配到输出图像相邻四个像素.几何变换方法1)向前映射法通过输入图像像素位置,计算输出图128存在问题pqrpr存在问题pqrpr1292向后映射法2)向后映射法通过输出图像像素位置,计算输入图像对应像素位置;根据输入图像相邻四个像素的灰度值计算该位置像素的灰度值.2向后映射法2)向后映射法通过输出图像像素位置,计算输入130两种映射方法的对比对于向前映射:每个输出图像的灰度要经过多次运算;对于向后映射:每个输出图像的灰度只要经过一次运算。实际应用中,更经常采用向后映射法。两种映射方法的对比实际应用中,更经常采用向后映射法。131下面看缩小和放大的具体应用下面看缩小和放大的具体应用132图像的缩小分为按比例缩小和不按比例缩小两种。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。(a)按比例缩小(b)不按比例缩小图像的缩小分为按比例缩小和不按比例缩小两种。(a)按比例缩133图像缩小
——实现思路图像缩小实际上就是对原有的多个数据进行挑选或处理,获得期望缩小尺寸的数据,并且尽量保持原有的特征不丢失。最简单的方法就是等间隔地选取数据。图像缩小
——实现思路图像缩小实际134图像缩小
——实现方法设原图像大小为M*N,缩小为k1M*k2N,(k1<1,k2<1)。算法步骤如下:1)设原图为F(i,j),i=1,2,…,M,j=1,2,…,N.压缩后图像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*x,c2*y)
其中,c1=1/k1c2=1/k2图像缩小
——实现方法设原图像135图像缩小
——例题K1=0.6,k2=0.7579101112131516171825272829303133343536i=[1,6],j=[1,6].x=[1,6*0.6]=[1,4],y=[1,6*0.75]=[1,5].x=[1/0.6,2/0.6,3/0.6,4/0.6]=[1.67,3.33,5,6.67]=[i2,i3,i5,i6],y=[1/0.75,2/0.75,3/0.75,4/0.75,5/0.75]=[j1,j3,j4,j5,j6].123456789101112131415161718192021222324252627282930313233343536Y图像缩小
——例题K1=0.6,136图像放大图像放大从字面上看,是图像缩小的逆操作,但是,从信息处理的角度来看,则难易程度完全不一样。图像缩小是从多个信息中选出所需要的信息,而图像放大则是需要对多出的空位填入适当的值,是信息的估计。图像放大图像放大从字面上看,是图像缩小的逆操作,但是,从信息137图像放大
——实现思路最简单的思想是,如果需要将原图像放大为k倍,则将原图像中的每个像素值,填在新图像中对应的k*k大小的子块中。放大5倍显然,当k为整数时,可以采用这种简单的方法。图像放大
——实现思路最简单的思想是,138图像放大
——实现方法设原图像大小为M*N,放大为k1M*k2N,(k1>1,k2>1)。算法步骤如下:1)设旧图像是F(i,j),i=1,2,…,M,j=1,2,…,N.新图像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*i,c2*j)
c1=1/k1c2=1/k2图像放大
——实现方法设原图像139K1=1.2,k2=1.1123345664566i=[1,2],j=[1,3].x=[1,3],y=[1,4].x=[1/1.2,2/1.2,3/1.2]=[i1,i2,i2],y=[1/1.1,2/1.1,3/1.1,4/1.1]=[j1,j2,j3,j3].123456图像放大
——实现方法K1=1.2,k2=1.1123345664566i=[1140最近邻点法代码/*-----------scale_near---图像缩放------- A:输入图像数据 B:输出图像数据row:图像宽度,高度,行数col:图像长度,列数zi:i轴放大倍数 zj:j轴放大倍数--------------------------------*/最近邻点法代码/*-----------scale_near141
%ij为新图像坐标,mn为原图像坐标
fori=1:row*ziforj=1:col*zjm=ceil(i/zi);n=ceil(j/zj);B(i,j)=A(m,n);endend%ij为新图像坐标,mn为原图像坐标142较大倍数图较大倍数图143
思考一个问题:如果放大倍数太大,按照前面的方法处理会出现马赛克效应。如果这个问题交给你,有没有办法解决?或者想办法至少使之有所改善?图像放大
——思考问题思考一个问题:图像放大
——144图按最近邻域法放大五倍的图像图按最近邻域法放大五倍的图像145双线性内插(bilinearinterpolationapproach)abp1-p双线性内插(bilinearinterpolationa146图线性插值法示意图f1=(1-p)×f([x],[y])+p×f([x]+1,[y])f2=(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)f(x,y)=(1-q)×f1+q×f2图线性插值法示意图f1=(1-p)×f([x],147计算公式f(x,y)=(1-q){(1-p)×f([x],[y])+p×f([x]+1,[y])}+q{(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)}式中:f(x,y)为坐标(x,y)处的灰度值,[x]、[y]分别为不大于x,y的整数。计算公式f(x,y)=式中:f(x,y)为坐标(x,y)处的148已知原图像中四点的灰度f(101,150)=10,f(102,150)=50,f(101,151)=40,f(102,151)=100,新图像g是f沿x轴放大5倍,y轴放大2倍构成,求g(506,301)的灰度。f(101.2,150.5)m=101,n=150,p=0.2,q=0.5f(101.2,150.5)=(1-0.5)*{(1-0.2)*10+0.2*50}+0.5*{(1-0.2)*40+0.2*100}=35已知原图像中四点的灰度f(101,150)=10,f(10149双线性插值代码/*-----------scale---图像缩放------- A:输入图像数据 B:输出图像数据row:图像宽度,高度,行数col:图像长度,列数zi:i放大倍数(竖直) zj:j放大倍数(水平)--------------------------------*/双线性插值代码/*-----------scale---图像150fori=1:row*ziforj=1:col*zjm=floor(i/zi);n=floor(j/zj);p=i/zi-m;q=j/zj-n;ifm>=1&&n>=1&&m<row&&n<colB(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendendfori=1:row*zi151图像示例图像示例152图像错切
——基本概念图像的错切变换实际上是平面景物在投影平面上的非垂直投影效果。因为绝大多数图像都是三维物体在二维平面上的投影得到的,所以需要研究图像的错切现象。图像错切
——基本概念图像的错切变换实153图像错切
——数学模型错切的数学模型如下:
图像错切
——数学模型错切的数学模型如154图像错切
——示例
可以看到,错切之后原图像的像素排列方向发生改变。该坐标变化的特点是,x方向与y方向独立变化。图像错切
——示例可以看到,错切155图像的位置变换所谓图像的位置变换是指图像的大小和形状不发生变化,只是将图像进行平移、镜像和旋转。图像的位置变换主要是用于目标识别中的目标配准。图像的位置变换所谓图像的位置变换是指图像的大小和形状不发生变156图像的平移图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:注意:x方向与y方向是矩阵的行列方向。即:g(x,y)=f(x’,y’)图像的平移图像的平移非常简单,所用到的是中学学过的直角坐标系157图像的平移
——示例注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信息。下移1行,右移2列y=[1,2,3];x=[1,2,3]y’=[2,3,4];x’=[3,4,5]123123123451234图像的平移
——示例注意:平移后158图像平移程序% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数% pi,pj:水平垂直(行,列)偏移量%ij为新图像坐标,mn为原图像坐标fori=1:rowforj=1:colm=i-floor(pi);n=j-floor(pj);ifm>0&&n>0&&m<row&&n<colB(i,j)=A(m,n);elseB(i,j)=128;
endend图像平移程序% A:输入图像数据 B:输出图像数据159图像的镜像所谓的镜像,通俗地讲,是指在镜子中所成的像。其特点是左右颠倒或者是上下颠倒。镜像分为水平镜像和垂直镜像。
图像的镜像所谓的镜像,通俗地讲,是指在镜子中所成的像。其特点160图像的水平镜像水平镜像计算公式如下(图像大小为M*N)
因为表示图像的矩阵坐标不能为负,因此需要在进行镜像计算之后,再进行坐标的平移。0-1-2-3123图像的水平镜像水平镜像计算公式如下(图像大小为M*N)161图像的水平镜像示例:123123123-1-2-3321123图像的水平镜像示例:12311-1-2-162实现程序fori=1:rowforj=1:colm=i;n=col+1-j;B(i,j)=A(m,n);endend% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数实现程序fori=1:row% A:输入图像数据 B:输163图像的垂直镜像垂直镜像计算公式如下(图像大小为M*N)
因为表示图像的矩阵坐标不能为负,因此需要在进行镜像计算之后,再进行坐标的平移。图像的垂直镜像垂直镜像计算公式如下(图像大小为M*N)164图像的垂直镜像示例:123123123-1-2-3012210图像的垂直镜像示例:123112165实现程序fori=1:rowforj=1:colm=row+1-i;n=j;B(i,j)=A(m,n);
endend% A:输入图像数据 B:输出图像数据% row:图像宽度,高度,行数col:图像长度,列数实现程序fori=1:row% A:输入图像数据 B:输166图像的旋转图像的旋转计算公式如下:
这个计算公式计算出的值为小数,而坐标值为正整数。这个计算公式计算的结果值所在范围与原来的值所在的范围不同。因此需要前期处理:扩大画布,取整处理,平移处理
。图像的旋转图像的旋转计算公式如下:这个计算167图像旋转的前期处理
——画布的扩大图像旋转之前,为了避免信息的丢失,画布的扩大是最重要的。画布扩大的原则是:以最小的面积承载全部的画面信息。图像旋转的前期处理
——168图像旋转的前期处理
——画布的扩大画布扩大的简单方法是:根据公式计算出i’和j’的最大、最小值,即i’min、i’max和j’min,j’max。画布大小为:i’max–i’min、j’max
–j’min。图像旋转的前期处理
——169图像旋转的前期处理
——画布的扩大旋转后图像的画布大小为:例平移量为△i’=2;△j’=0。图像旋转的前期处理
——170图像旋转
——按照确定画布时的平移量取整结论:按照图像旋转计算公式获得的结果与想象中的差异很大。对原图的(1,1)像素,i=1,j=1取整后,该点在新图的(2,1)上。对原图的(1,2)像素,i=1,j=2取整后,该点在新图的(2,2)上。必须进行后处理操作。图像旋转
——按照确定画布时的平移量取整结171图像旋转后处理
——旋转后的隐含问题分析图像旋转之后,出现了两个问题:1)像素的排列不是完全按照原有的相邻关系。这是因为相邻像素之间只能有8个方向(相邻为45度),如下图所示。2)会出现许多的空洞点。示例图像旋转后处理
——旋转后的隐含172图像旋转后处理
——解决问题的思路出现问题的核心是像素之间的连接是不连续的。相邻像素的角度是无法改变的,所以只能通过增加分辨率的方法来从整体上解决这个问题。采用某种填补方法来填充空洞。图像旋转后处理
——解决问题173图像旋转的后处理
——插值最简单的方法是行插值(列插值)方法。1)找出当前行的最小和最大的非背景点的坐标,记作:(i,k1)、(i,k2)。如右图有:(1,3)、(1,3);(2,1)、(2,4);(3,2)、(3,4);(4,2)、(4,3)。图像旋转的后处理
——174图像旋转的后处理
——插值2)在(k1,k2)范围内进行插值,插值的方法是:空点的像素值等于前一点的像素值。3)同样的操作重复到所有行。图像旋转的后处理
——175实现fori=1:rowforj=1:colm0=i*cos(theta)+j*sin(theta);n0=-i*sin(theta)+j*cos(theta);m=floor(m0);n=floor(n0);p=m0-m;q=n0-n;ifm>=1&&n>=1&&m<row&&n<colB(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendend实现fori=1:row176图像旋转的后处理
——插值效果分析
经过插值处理之后,图像效果就变得自然。思考一个问题:边界的锯齿如何处理?图像旋转的后处理
——177图像的仿射变换图像仿射变换提出的意义是采用通用的数学影射变换公式,来表示前面给出的几何变换。回顾前面讲过的几何变换,除了图像的平移,其他的变换均为线性变换,比较容易处理。为了适应平移,提出了齐次坐标的概念。平移公式:图像的仿射变换图像仿射变换提出的意义是采用通用的数学影射变换178图像的仿射变换
——齐次坐标原坐标为(x,y),定义齐次坐标为:(wx,wy,w)实质是通过增加一个坐标量来解决问题。平移:图像的仿射变换
——齐次坐179图像的仿射变换
——通式有了齐次坐标
,就可以定义仿射变换
如下:仿射变换公式中,取齐次坐标的w=1。用矩阵形式表示为:图像的仿射变换
——通式有180图像的仿射变换
——图像几何变换表示图像的平移:图像的旋转:图像的仿射变换
——图像几何181图像的仿射变换
——图像几何变换表示图像的水平镜像:图像的垂直镜像:图像的仿射变换
——图像几何182图像的仿射变换
——图像几何变换表示图像的垂直错切:图像的水平错切:不同几何变换实际上对应着不同的变换矩阵。图像的仿射变换
——图像几何183图像几何变换讲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第15课 物联系统原型的运行与调试 教学设计 -初中信息技术七年级下册浙教版2023
- 2025至2030年中国民用氙气灯安定器数据监测研究报告
- 2025至2030年中国椰果罐头数据监测研究报告
- 2025至2030年中国柜台开发平台数据监测研究报告
- 江苏省启东市2023-2024学年高二上学期期中考试地理试卷(解析版)
- 湖北省云学名校联盟2023-2024学年高二上学期12月联考地理试题(解析版)
- 2024药品代理合同(32篇)
- 2025至2030年中国数字电路实验仪数据监测研究报告
- 《故都的秋》教学设计 2024-2025学年统编版高中语文必修上册
- 2025至2030年中国排球中胎数据监测研究报告
- 《拒绝校园欺凌 防霸凌主题班会》课件
- 高血压脑出血相关的课件
- 江苏省初中美术学业水平考试参考复习题库(含答案)
- 短视频运营实战:抖音短视频运营
- 设备维保的关键绩效指标与评估
- 三亚市崖州中心渔港停泊避风水域扩建项目 环评报告
- 2024年工贸行业安全知识考试题库500题(含答案)
- 《指南针》完整版
- 深圳人才公园功能分析报告
- 《核医学辐射防护》课件
- 入托入学儿童预防接种证查验接种证工作课件
评论
0/150
提交评论