插值方法在图像放大中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词图像插值双线性插值双三次插值放大
1引言
图像放大和缩小的处理技术在实际应用中具有重要的作用,如在医学系统、公安系统、航天系统以及一些图像处理软件中,为适用特殊的场合和获得比较好的视觉效果,常常需要一种有效的方法来改变已有图像的大小,并保证改变后的图像有较好的质量[1]。图像插值是图像放大的主要方法。图像插值就是利用黑白图像中已知邻近像素点的灰度值或者是彩色图像中已知邻近像素点的某一通道下的值来产生位置像素点的灰度值或通道下的值,以便由原始图像再生出具有更高分辨率的图像。虽然从硬件方面可以做到放大处理,但是从软件方面的改进,采用插值技术实现数字图像的放大具有较低的成本。
图8:使用双三次插值进行四倍放大后的图像
对于上一个步骤产生二值化后的边缘图像,本文采取了[5]的一个处理方法,使得处理后的边缘比较平滑。取3x3的内邻域和5x5的外邻域,内邻域的八点邻接点中,有两个也是边缘点,因此有6个边缘邻接点。该算法的目的就是优化插值内邻域6个像素,扩大其与边缘像素点的差值,使边缘颜色生阶跃变化或屋顶状变化。具体方法是将内邻域像素值和与其相邻的某外邻域像素值平均,然后赋给内邻域像素。
双三次线性插值的核心在于求得插值系数h,所采用的数学模型如下:
算法采用4×4大小领域进行计算,每得到一个输出像素点灰度值都需要取输入图像4×4=16个像素点的灰度值。
图5:最近邻插法得到的四倍放大图
图6:使用双线性插值放大四倍后图像
常用插值系数h的模型为:
其图形如图(7):
图7:系数h的模型图像
双三次插值公式如下:
当(a,b)的位置超过插值可以接受的位置(边界点不足)时仅循环,不插值;
对以对应位置为左上角起点times*times大小的方阵内的点遍历(sx,sy):
{
当前点在原图像的位置:a+sx*step,b+sy*step;
构造双三次中辅助的三个矩阵;
根据双三次插值的公式对当前新图像点获取插值结果;
}
}
(对于彩色图像,对三个通道分别做上述处理)
对一个图像边缘增强,首先是要找到图像的边缘。本实验中先使用一个MATLAB自带函数grayimg=rgb2gray(imgx)对第二部分中获得的放大后的图像进行灰度化,之后我们使用MATLAB自带函数edge()对灰度化后的图像进行求边缘,得到一个二值化后的边缘图像edgeimg=edge(grayimg,算子名)。在本文中均采用sobel算子,可以减小噪声对提取结果的影响。
双线性插值[3]是具有两个变量的插值函数的线性扩展,其核心思想是在两个方向分别进行一次线性插值。退与目标图像的一个坐标点(x’,y’),通过向后映射法得到改坐标在原始图像中对应的浮点坐标(x+m,y+n),其中x,y为非负整数,m,n为[0,1]区间的浮点数,则这个像素的值f(x+m,y+n)可更具原始图像中所对应的周围四个坐标(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)的像素值决定。具体公式为:
[3]邓林华,黄文娟,黄善杰,等.基于双线性插值的图像实时消旋系统的设计与实现[J].计算机与现代化, 2010 (006): 64-66.
[4]胡小龙,冯彬.基于FPGA的高分辨实时监控图像缩放设计[J].液晶与显示, 2009, 24(6).
[5]党向盈,吴锡生,赵勇.基于边缘最大梯度的多方向优化插值算法[J][J].计算机应用研究, 2007, 24(9): 317-320.
{
当emg(m,n)为边缘点时,不做任何操作;
当emg(m,n)不为边缘点时:
{找到以img(i,j)为中心5*5领域内与img(m,n)最近的点,对两点值取平均,将平均值赋给newimg(m,n);}
}
}
(对于彩色图像,对三个通道分别做上述处理)
边缘增强算法在MATLAB中进行实现,图(9),图(10)分别是双线性插值放大后图像和双三次放大后的图像进行边缘增强后的效果。
对以对应位置为左上角起点times*times大小的方阵内的点遍历(sx,sy):
{
当前点在原图像的位置:a+sx*step,b+sy*step;
根据双线性插值的公式对当前新图像点获取插值结果;
}
}
(对于彩色图像,对三个通道分别做上述处理)
算法通过MATLAB实现。算法实例中使用的图片是使用一个自定义函数ImageShrink将原图缩小而成。图像缩小算法采用的是将源图像中每个t*t的方阵取平均(灰度图像直接取平均,彩色图像3个通道分别平均),作为新的缩小的图像对应点的颜色值。
具体算法:
输入:原图像img,二值化的边缘图像emg
开始:
将原图像img的值先全部复制到新图像newimg里;
遍历原图像像素(i,j):
{
当(i,j)的位置超过边缘增强可以接受的位置(边界点不足)时不操作(保留原值);
当emg(i,j)不是边缘点是不操作;
当emg(i,j)是边缘点时做如下操作:
对以当前位置newimg(i,j)为中心点3*3大小的领域方阵内的点遍历(m,n):
其中, 、 、 均为矩阵,形式如下:
其中, 表示源图像 出像素点的灰度值。
具体算法:
输入:原图像img,放大倍数times
开始:
设置步长step为1/times
遍历原图像像素(a,b):
{
计算当前点对应的新图像位置(xcoord,ycoord):
xcoord=times*(a-1)+1;
ycoord=times*(b-1)+1;
目前文献中已有很多软件实现插值的方法。传统的图像插值算法中侧重于图像的平滑,从而取得更好的视觉效果,主要有最近邻插值、双线性插值等等,但是这类方法在保持图像平滑的同时,也会导致图像的边缘模糊。基于边缘的插值算法是为了弥补传统方法的不足,对图像的边缘进行了效果增强。此方法可以分为两类:基于原始低分辨率图形边缘的方法和基于插值后高分辨率图像边缘的方法。基于区域的图像插值算法是将图像分割成小块,在将插值点映射到低分辨率图像中,判断其所属区域,最后根据插值点的邻域像素设计不同的插值公式,计算插值点的值[2]。
图1基于插值后高分辨率图像边缘的方法原理
本文第二部分是对图像进行基于传统插值方法的放大,第三部分是对线性插值产生的高分辨率图像进行边缘检测和处理,第四部分相关实验结论。
2基于传统插值方法的图像放大
传统插值方法比较简单,容易实现,本算法中就分别使用了传统插值方法中双线性插值法和双三次插值法。
2.1双线性插值法
原图,缩小图,缩小图通过最近邻插法得到的四倍放大图分别是:图(3),图(4),图(5)
图3:原图
图4:缩小四倍图
通过使用双线性插值算法对缩小图进行四倍放大得到的图像如图6。
2.2双三次插值法
三次插值[4]的名称来自于其计算时最高次幂为三次。在数值分析中,差值算法可以表示为:
其中,h(x)为插值系数,Sk为第k个原函数的值。不同的插值算法根据所取像素点个数不同有不同的算法思想。插值图像的每一个像素点g(i,j)都可以在原始图像中找到一个n*n大小的对应邻域。输出像素g(i,j)可以通过对其原始图像中对应邻域进行二维卷积运算得到。
图9:对经过双线性插值放大后的图形进行边缘增强后效果
图10:对经过双三次插值放大后的图形进行边缘增强后效果
4、实验结论
参考文献:
[1]胡敏,张佑生. Newton-Thiele插值方法在图像放大中的应用研究[J].计算机辅助设计与图形学学报, 2003, 15(8): 1004-1007.
[2]符祥,郭宝龙.图像插值技术综述[J].计算机工程与设计, 2009, 30(1): 141-144.
双线性插值算法的原理图可用图(2)表示:根据采样点周周4个点的像素值在两个方向上进行内插,(x,Y)、f(x,y)为插值后的坐标及其像素值,f(0,0)、f(1,0)、f(0,1)、f(1,1)为该点周围4点坐标的像素值。可以由相邻坐标的像素值f(0,0)和f(1,0)在X方向上进行线性插值得到(x,0)处的像素值f(x,O),再由另外两个相邻坐标的像素值f(0,1)和f(1,1)在x方向上进行线性插值得到(x,1)处的像素值f(X,1),然后由f(X,0)和f(X,1)在Y方向上进行线性插值就可得到(x,y)处的像素值f(x,Y)。
本文提出的算法属于基于插值后高分辨率图像的方法中的一种。首先采用传统方法对低分辨率图像进行插值以得到高分辨率图像,然后检测高分辨率图像的边缘,最后对边缘及附近像素进行特殊处理,以去除模糊,增强图像的边缘[2],如图(1)。本文在对低分辨率图像进行传统差值时,分别采用了双线性插值和双三次插值,之后分别对两次不同插值得到的高分辨率图像进行相同方法的边缘检测和增强。
图2:双线性插值原理图
具体算法:
输入:原图像img,放大倍数times
开始
将步长step设为1/times,是新图像点相对于原图像的间隔;
遍历原图像像素(a,b):
{
计算当前像素在放大图像中对应的位置(xcoord,ycoord):
xcoord=times*(a-1)+1;
ycoord=times*(b-1)+1;
双三次插值算法由MATLAB实现,通过使用双三次插值算法对缩小图进行四倍放大得到的图像如图(8).
3边缘检测以及边缘处理
插值是根据两端若干插值点计算中间未知点的方法,利用的是图像像素值空间上的连续性,在对连续区域进行插值时,能够很好的获得平缓过度的插值图像。但对于图像的边缘部分,插值会使边缘变得模糊,需要对插值图像做边缘的强化,采用[2]中方法对边缘进行了边缘的增强。
插值方法在图像放大中的应用
赵洵 12013002354 汪正嘉 12013002355 汤端平 12013001256
摘要在图像处理中,图像的缩放是指对数字图像的大小进行调整的过程,主要采取图像插值的方法。目前图像插值技术分为传统差值,基Biblioteka Baidu边缘的插值和基于区域的插值3类。三类插值具有自己的优缺点,本文提出的是一种基于差值后高分辨率图像边缘的方法,首先使用双线性插值和双三次插值分别进行了图像放大,再利用边缘检测查找边缘及附近像素并进行处理。实验结果表明,两种方法的结合构成的基于插值后高分辨率图像边缘的方法插值是一种简单有效的图像放大的方法。
相关文档
最新文档