一种基于线性插值运算中误差估计的图像放大方法

文档序号:7668408阅读:359来源:国知局
专利名称:一种基于线性插值运算中误差估计的图像放大方法
技术领域
本发明属于数字图像处理与视频显示技术领域,具体涉及基于线性插值运算的图像放大方法。

背景技术
图像放大是数字图像处理中最重要的技术之一,常用的放大方法有最邻近插值、双线性插值、双三次插值等。最邻近插值简单、速度快,但放大后的图像有严重的马赛克现象;双线性插值会退化图像的高频部分,造成图像的模糊;双三次插值算法较好的保留图像高频信息,边缘更锐化、细节更清晰,但运算量和硬件实现难度都很大。


发明内容
本发明所要解决的技术问题是,提出一种基于线性插值运的图像放大方法,能较好的保留图像高频信息,使边缘更锐化、细节更清晰。
本发明为解决上述技术问题所采用的技术方案是,一种基于线性插值运算中误差估计的图像放大方法,其特征在于,具体包括以下步骤 a、计算插值点P的位置; b、获取插值点P所处位置的相邻4个像素点的像素值; c、通过相邻4个像素点的像素值计算线性插值的误差估计,将所述误差估计作为线性插值结果的补偿; d、计算线性插值结果与误差估计之和,其结果为插值点P的像素值。
所述相邻4个像素点,具体的是,在做水平方向的插值时为水平位置的4个相邻像素点;做垂直方向的插值时为垂直位置的4个相邻像素点; 所述误差估计具体为,在做水平方向的插值时误差估计为 其中插值点P水平方向相邻4点的像素值分别为f(Pi-1)、f(Pi)、f(Pi+1)、f(Pi+2);x为插值点P与相邻像素点Pi的水平距离,x∈(0,1);那么,水平方向做插值时插值点P的像素值f(P)为 在做垂直方向的插值时误差估计为其中插值点P垂直方向相邻4点的像素值分别为f(Pj-1)、f(Pj)、f(Pj+1)、f(Pj+2);y为插值点P与相邻像素点Pi的垂直距离,y∈(0,1);那么,垂直方向做插值时插值点P的像素值f(P)为 本发明的有益效果是,原双线性插值方法的插值点由原图像周围4个像素点的值确定,通过本发明引入误差估计参变量的改进后,插值点像素值的确定参考了该点周围16个像素点的值。本发明克服了原线性插值运算导致高频退化、图像模糊的缺陷。通过本发明处理后的图像放大效果基本达到了双三次插值算法处理后的图像效果,且运算量小,易于硬件实现。



图1为本发明原理图; 图2为误差估计的推导示意图。

具体实施例方式 线性插值中相对于三次插值的误差估计E的计算原理如下 线性插值如图1所示,Pi与Pi+1为插值点P在水平方向上的相邻2像素点,线性插值的公式f′(P)=f(Pi)+[f(Pi+1)-f(Pi)]·x,x∈(0,1);线性插值不光滑,会造成图像高频部分的退化。要保留图像高频信息,需要插值点P与像素点形成的曲线尽量光滑,所以引入误差估计E,完善插值点P的像素值的计算方法 f(P)=f(Pi)+[f(Pi+1)-f(Pi)]·x+E,x∈(0,1); 误差估计E的推导方法如下 牛顿一次插值多项式为 其中,为牛顿一次插值多项式的误差估计; 如图2所示,-1、0、1、2分别表示插值点x在水平方向上相邻4点的位置,若x0=-1,h=3,代入(1)式,得到 若x0=0,h=1,代入(1)式,得到 在本发明中作误差估计时,认为f″(x)在x∈(-1,2)上变换很小,即认为f″(ξ1)≈f″(ξ2),并统一用f″(σ)表示,并由式(2)、式(3)两式相减得到 令x=1/2,得到 当x=1/2时,如图2所示,A点的值为 f(0)+[f(1)-f(0)]·(1/2);B点的值为
由上,线段AB的长度作为f″(σ)的近似估计值,将式中(3)中

作为线性插值的误差error,并以变量E作为误差error的估计值。将带入
当x=1/2时,得出结论,误差估计E=AB/8。
再用二次函数并引入误差估计值E,来近似估计error曲线ferror(x),如图2所示得到f1(x)=-4·E·x2+(4·E-a)·x;f2(x)=-ax,error曲线为曲线f1(x)与直线f2(x)之差因此ferror(x)=4·E·x·(1-x); 将E=AB/8带入上式,得到 E为ferror(x)的估计值,令插值点水平方向相邻4点分别为Pi-1、Pi、Pi+1、Pi+2,那么有水平方向插值时的误差估计值E为 同理,令插值点水平方向相邻4点分别为Pj-1、Pj、Pj+1、Pj+2,由上面的推导可知垂直方向上插值时的误差估计值E为 实施例 在实现图像放大过程中,本发明先对图像在水平方向作放大,得到一个过渡图像,然后再对过渡图像作垂直方向的放大,得到最终的放大图像。当然也可以先做垂直方向的放大再做水平方向的放大。放大的实质是将二维信号作一维方向上的插值运算。
令原始图像大小为M×N,放大后的图像大小为X×Y,并且第一行(列)以零行(列)开始计数,最后一行(列)为M-1行(N-1列)。
首先作水平方向的插值运算,具体步骤如下 1、对于原始图像第r行(r=0,1,2……M-1),依次计算出插值点P的水平位置ss=-0.5+N/(2*Y)+C*N/Y;其中,C=0,1,2……Y-1为图像放大后的列序数。
由此可以找到插值点P所处位置的前后相邻四个已知点Pi-1=floor(s)-1、Pi=floor(s)、Pi+1=floor(s)+1、Pi+2=floor(s)+2;其中,函数floor(s)为s向下取整。
2、计算出P到Pi的距离xx=s-floor(s); 3、根据本发明提出的插值公式,计算出插值点P的像素值 4、依次完成0至M-1行的水平方向插值运算,并由此完成整个图像在水平方向的放大,得到一个过渡图像T,其大小为M×Y。
再进行垂直方向的插值,具体步骤如下 5、对于过渡图像T的第C列,C=0,1,2……Y-1,在垂直方向上,依次计算出插值点P的垂直位置t为t=-0.5+M/(2*X)+R*M/X,其中,R=0,1,2……X-1,为图像放大后的行序数; 得到待插点P所处位置的上下相邻四个已知点Pj-1=floor(t)-1、Pj=floor(t)、Pj+1=floor(t)+1、Pj+2=floor(t)+2; 6、计算出P到Pj的距离yy=t-floor(t); 7、根据本发明提出的插值公式,计算出待插点P的像素值 8、依次完成0至Y-1列的垂直方向插值运算,并由此完成整个过渡图像T在垂直方向的放大,得到最终放大的图像,其大小为X×Y。
通过实验验证经本发明处理过的图像比经双线性插值处理后的图像有明显改善,总体放大效果与双三次插值相当,但运算量远低于双三次插值运算。
权利要求
1.一种基于线性插值运算中误差估计的图像放大方法,其特征在于,具体包括以下步骤
a、计算插值点P的位置;
b、获取插值点P所处位置的相邻4个像素点的像素值;
c、通过相邻4个像素点的像素值计算线性插值的误差估计,将所述误差估计作为线性插值结果的补偿;
d、计算线性插值结果与误差估计之和,其结果为插值点P的像素值。
2.如权利要求1所述一种基于线性插值运算中误差估计的图像放大方法,其特征在于,步骤b具体为在做水平方向的插值时,获取插值点P水平位置的相邻4个像素点的像素值;做垂直方向的插值时,获取插值点P垂直位置的相邻4个像素点的像素值。
3.如权利要求2所述一种基于线性插值运算中误差估计的图像放大方法,其特征在于,步骤c所述误差估计具体为,在做水平方向的插值时误差估计为
其中插值点P水平方向的相邻4个像素点的像素值分别为f(Pi-1)、f(Pi)、f(Pi+1)、f(Pi+2);x为插值点P与相邻像素点Pi的水平距离,x∈(0,1);步骤d中,水平方向做插值时插值点P的像素值f(P)为
垂直方向的插值时误差估计为
其中插值点P垂直方向相邻4个像素点的像素值分别为f(Pj-1)、f(Pj)、f(Pj+1)、f(Pj+2);y为插值点与相邻像素点Pj的垂直距离,y∈(0,1);步骤d中,垂直方向做插值时插值点P的像素值f(P)为
全文摘要
本发明属于数字图像处理与视频显示技术领域,具体涉及基于线性插值运算的图像放大方法。本发明提出一种基于线性插值运算的图像放大方法,能较好的保留图像高频信息,具体包括以下步骤a.计算插值点P的位置;b.获取插值点P所处位置的相邻4个像素点的像素值;c.通过相邻4个像素点的像素值计算线性插值的误差估计,将所述误差估计作为线性插值结果的补偿;d.计算线性插值结果与误差估计之和,其结果为插值点P的像素值。本发明克服了原线性插值运算导致高频退化、图像模糊的缺陷。通过本发明处理后的图像放大效果基本达到了双三次插值算法处理后的图像效果,且运算量小,易于硬件实现。
文档编号H04N1/393GK101163190SQ20071020235
公开日2008年4月16日 申请日期2007年11月1日 优先权日2007年11月1日
发明者宇 张 申请人:四川虹微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1