最邻近插值和双线性插值算法的比较_第1页
最邻近插值和双线性插值算法的比较_第2页
最邻近插值和双线性插值算法的比较_第3页
最邻近插值和双线性插值算法的比较_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最邻近插值和双线性插值算法的比拟摘要:图像缩放是数字图像处理的一个根本内容,为了更好地对数字图像细节进行描述,本文简单介绍了图像处理中的空间变换、最邻近插值算法,重点分析了双线性插值算法,并通过MATLAB仿真进行图像的缩放,比拟实验结果,从而验证双线性插值算法效果较好。关键词:图像缩放;空间变换;最邻近插值;双线性插值;引言数字图像处理的对象因其涉及到社会的各个领域,倍受到越来越多的关注,而图像缩放作为数字图像处理中的根本操作尤为重要,在社会的很多领域都需要对图像进行放大和缩小。本文主要比拟了空间变换、最邻近插值算法和双线性插值算法。图像处理中的空间变换图像的空间变换[1],也称几何变换或几何运算,包括图像的平移、旋转、镜像变换、转置、缩放等。几何运算可改变图像中各物体之间的空间关系,这种运算可以跛看成是将各物体在图像内移动。空间变换可如下表示:设(u,v)为源图像上的点,(x,y)为目标图像上的点,那么空间变换就是将源图像上(u,v)处的颜色值与目标图像上(X,y)处的颜色对应起来(u,v)(x,y)并具有以下关系:x=X(u,v),y=Y(u,v)〔即由(u,v)计算对应(x,y)〕(1)或u=U(x,y),v=V(x,y)〔即由(x,y)计算对应(u,v)〕(2)其中X(u,v)、Y(u,v)、U(x,y)、V(x,y)均为变换。由(1.1)对应的变换称作向前映射法也叫像素移交法,而由(1.2)对应的变换称作向后映射法也叫像素填充法,向后映射法是向前映射法的逆[1,4]。对于向前映射法来说,由于许多输入像素可能映射到输出图像的边界之外,故向前映射法有些浪费,而且每个输出像素的灰度值可能要由许多输入像素的灰度值来决定,因此要涉及屡次运算。如果空间变换中包括缩小处理,那么会有四个以上的输入像素来决定输出像素的灰度值。如果含有放大处理,那么一些输出像素可能被漏掉。而向后映射算法是逐像素、逐行地产生输出图像。每个像素的灰度级由最多四个像素参与的插值所唯一确定,虽然向后映射法比向前映射法要复杂,但是向后映射法对于—般的应用却具有更为现实的意义。最邻近插值算法最简单的插值算法是最邻近插值,也称为零阶插值。它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值,最邻近插值算法简单,在许多情况下都能得到令人满意的结果,但是当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。双线性插值算法计算量比零阶插值大,但缩放后图像质量高,不会出现像素值不连续的的情况,这样就可以获得一个令人满意的结果[2,6]。最邻近点插值[6]取插值点的4个邻点中距离最近的邻点灰度值作为该点的灰度值。设插值点〔i,j〕到周边4个邻点fk〔i,j〕〔k=1,2,3,4〕的距离为dk〔k=1,2,3,4〕,那么:g〔i,j〕=fk〔i,j〕,dl=min{d1,d2,d3,d4},l=1,2,3,4双线性插值算法双线性插值[1,3]是利用了需要处理的原始图像像素点周围的四个像素点的相关陛,通过双线眭算法计算得出的。对于一个目的坐标,通过向后映射法得到其在原始图像的对应的浮点坐标(i+u,j+v),其中i,j均为非负整数,u,v为[0,l]区间的浮点数,那么这个像素的值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+l,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)×(1-v)×f(i,j)+(1-u)×V×f(i,j+1)+u×(1-v)×f(i+l,j)+u×v×f(i+l,j+1),其中f(i,j)表示源图像(i,j)处的的像素值,以此类推,这就是双线性内插值法。如图[5]1所示,(0,0)、(0,1)、(1,0)、(1,1)四点的的灰度,可以由相邻像素的灰度值f(0,0)和f(1,0)在X方向上线性插值求出(x,0)的灰度f(x,0),由另外两个相邻像素f(0,1)和f(1,1)在X方向上线性插值可求出(x,1)的灰度f(x,1),最后由f(x,0),f(x,1)在Y方向上进行线性插值就可以得到(x,y)的灰度f(x,y)。在同一行内根据待插值像素点与其前后的原图像像素点的位置距离进行加权线性插值,即离原图像像素点越近的待插值像素点,原图像像素的加权系数就越大;行间根据待插值行与其上下的原图像行间的距离进行加权线性插值,即离原图像行越近的待插值行,原图像行的加权系数就越大[7]。图1双线性插值原理基于双线性插值的程序流程图基于双线性插值的程序流程图如下列图2所示:图2程序流程图首先进行初始化,读取所要缩放的图像,获取目标图像的大小和目标像素点的横坐标和纵坐标,然后根据所提供的公式算法逐点做双线性内插,最后显示图像。仿真效果图调用MATLAB中空间变换函数imtransform,通过设置函数的插值类型,分别实现最近邻和双线性插值。通过调用空间变换函数,防止了对两种插值算法的编写。其中参数1.1与1.3分别通过仿射变换矩阵中的相关参数实现。最邻近插值仿真效果图如图3所示,双线性插值仿真效果图如图4所示,两者比照效果图:图3最邻近插值仿真效果图图4双线性插值仿真效果图根据双线性插值算法的思路〔即目标图像中的像素值由原图像中在空间位置上最接近的四个像素值按照特定的公式:S=(a)(b)S1+(1-a)(b)S2+(a)(1-b)S3+(1-a)(1-b)S4进行计算〕对目标图像每个像素点计算相应的a、b、S1、S2、S3、S4,然后根据上述公式计算出该像素点的值。其中a、b是分别通过对目标像素点的横纵坐标除以参数1.3,并通过取整,计算取整前后的差而得到。S1的坐标是通过目标像素点坐标除以1.3、取整得到的,S2、S3、S4是在此根底上对相应的坐标值进行加1得到的。如图5所示:图5双线性插值算法结束语本文介绍了空间交换、最邻近插值算法和双线性插值算法来实现图像缩放,并通过仿真效果可以看出前两种图像缩放方法具有很大的失真,而双线性插值算法可以得到很高的清晰度,所以双线性插值算法可以广泛应用在图像变形、计算机动画、计算机辅助设计等领域。参考文献[1]王森,杨克俭.基于双线性插值的图像缩放算法的研究与实现[J].自动化技术与应用.2008(27):44~46.[2]RafaelC.Gonzalez等.数字图像处理.阮秋琦等[译].北京:电子工业出版社,2003.[3]李永艳,付志兵.一种改良的双线性插值图像放大算法[M].无线电工程.2010(3).[4]江风莲,曾志宏.图像插值放大方法的研究与应用.制造业自动化.2010,33(1).[5]冯慧君,陶素娟,李隆.基于双线性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论