最邻近插值和双线性插值算法的比较
更新时间:2024-03-24 10:52:01 阅读量: 综合文库 文档下载
- 最邻近插值和双线性插值推荐度:
- 相关推荐
最邻近插值和双线性插值算法的比较
摘要:图像缩放是数字图像处理的一个基本内容,为了更好地对数字图像细节进行描述,本文简单介绍了图像处理中的空间变换、最邻近插值算法,重点分析了双线性插值算法,并通过MATLAB仿真进行图像的缩放,比较实验结果,从而验证双线性插值算法效果较好。
关键词:图像缩放;空间变换;最邻近插值;双线性插值;
0 引言
数字图像处理的对象因其涉及到社会的各个领域,倍受到越来越多的关注,而图像缩放作为数字图像处理中的基本操作尤为重要,在社会的很多领域都需要对图像进行放大和缩小。本文主要比较了空间变换、最邻近插值算法和双线性插值算法。
1 图像处理中的空间变换
图像的空间变换[1],也称几何变换或几何运算,包括图像的平移、旋转、镜像变换、转置、缩放等。几何运算可改变图像中各物体之间的空间关系,这种运算可以跛看成是将各物体在图像内移动。
空间变换可如下表示:设(u,v)为源图像上的点,(x,y)为目标图像上的点,则空间变换就是将源图像上(u,v)处的颜色值与目标图像上(X,y)处的颜色对应起来
(u,v) 并具有以下关系:
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]。
对于向前映射法来说,由于许多输入像素可能映射到输出图像的边界之外,故向前映射法有些浪费,而且每个输出像素的灰度值可能要由许多输入像素的灰
(x,y)
度值来决定,因此要涉及多次运算。如果空间变换中包括缩小处理,则会有四个以上的输入像素来决定输出像素的灰度值。如果含有放大处理,则一些输出像素可能被漏掉。而向后映射算法是逐像素、逐行地产生输出图像。每个像素的灰度级由最多四个像素参与的插值所唯一确定,虽然向后映射法比向前映射法要复杂,但是向后映射法对于—般的应用却具有更为现实的意义。
2 最邻近插值算法
最简单的插值算法是最邻近插值,也称为零阶插值。它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值,最邻近插值算法简单,在许多情况下都能得到令人满意的结果,但是当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。双线性插值算法计算量比零阶插值大,但缩放后图像质量高,不会出现像素值不连续的的情况,这样就可以获得一个令人满意的结果[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
3 双线性插值算法
双线性插值[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 双线性插值原理
4 基于双线性插值的程序流程图
基于双线性插值的程序流程图如下图2所示:
初始化读取图像获取图像大小逐点做双线性内插逐点做双线性内插显示图像结束 图2 程序流程图
首先进行初始化,读取所要缩放的图像,获取目标图像的大小和目标像素点的横坐标和纵坐标,然后根据所提供的公式算法逐点做双线性内插,最后显示图像。
5 仿真效果图
调用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所示:
正在阅读:
最邻近插值和双线性插值算法的比较03-24
塑料件空调配件项目可行性研究报告(发改立项备案+2013年最新案07-11
人教版二年级上学期小学语文全能强化训练四单元真题模拟试卷(1603-11
梦里寻它千百度作文600字06-16
GoldenLife双机容错解决方案12-23
呼吸内科试题及答案606-07
xxxx-基于单片机的温控智能风扇设计08-30
2020年中考语文专项复习——名著阅读《艾青诗选》05-04
钢琴之旅作文400字06-19
2013高考古典诗词鉴赏精选题型12-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 插值
- 邻近
- 线性
- 算法
- 比较
- 绍兴市2014年第一学期高中教学质量检测
- 长沙市一中高三第四次月考试卷
- 07382经济法概论(2)2016复习提纲
- 五大运输方式
- 云ERP系统的选型步骤
- HDMI线简介 - 图文
- 某工业扩建工程电气施工组织设计 - secret - cn50Hz
- 大体积混凝土工程施工监理细则
- 基于LabVIEW - 8.5 - 的数字滤波器的设计
- 发电部绩效考评实施细则(修订2016,1)
- 软件测试技术 - 试题及答案1 - 电子工业出版社
- 试论如何培养播音员主持人多角色播音主持的应变能力
- 周末反馈
- 育婴百题
- 开学典礼小学少先队辅导员发言稿-作文
- 拼接屏屏验收报告总结
- 高中有机化学基础知识总结
- 学术委员会会议纪要
- other的用法
- 常见74芯片 - 图文