一种基于数字升采样再三次样条的数字图像任意点插值方法与流程

文档序号:15640489发布日期:2018-10-12 22:00阅读:273来源:国知局

本发明涉及数字图像处理方法,具体涉及一种基于数字升采样再三次样条的数字图像任意点插值的方法。



背景技术:

随着科学技术的不断推进,自从进入21世纪,计算机技术得到了迅猛的发展,相关理论得到了不断的完善,数字图像处理技术在许多领域受到了广泛的重视,并取得了重大的开拓性的成就,比如在图像通讯、办公室自动化系统、地理信息系统、医疗设备、卫星照片传输及分析和工业自动化领域都得到了很广泛的应用,在数学、物力、生物、神经等学科领域都得到了推广和使用。由此可见,数字图像处理及其分辨率的提高正在向着高速、高分辨率、立体化、多媒体化、智能化和标准化的方向发展。随着科学技术的高速发展,广大学者对插值方法等方面进行了深入的研究和探讨,但现有的插值方法不一定能达到任意点插值,而且通常带来额外的频谱镜像分量干扰,降低图像的信噪比。



技术实现要素:

发明目的:为解决现有技术中存在的不足,提供一种基于数字升采样再三次样条的数字图像任意点插值的方法。

技术方案:本发明提供了一种基于数字升采样再三次样条的数字图像任意点插值方法,该方法包括:

(1)根据插值要求,在m×n的原二维数字图像像素点中确定插值点的位置(x0,y0);

(2)将原二维数字图像分解为n个长度为m的列向量,每个列向量为一维数字序列,根据插值点位置在y方向的值y0,分别对上述n个长度为m的一维数字序列采用基于数字升采样再三次样条的插值方法进行插值计算,对每一个上述一维数字序列都分别得到一个纵坐标位置为y0的亚像素插值点的像素值,这些点在原二维数字图像中的二维坐标的纵坐标都为y0,其横坐标分别为0,1,2,…,n-1;这n个插值点构成新的一维数字序列;

(3)对步骤(2)中由n个插值点得到的长度为n的一维数字序列采用基于数字升采样再三次样条的插值方法,得到一维位置为x0的插值数据,该插值点即二维图像中所需求的亚像素插值点(x0,y0),该插值即其亚像素插值。

进一步的,所述步骤(2)中基于数字升采样再三次样条的插值方法,包括以下步骤:

(21)分别对n个长度为m的一维数字序列进行频谱分析,根据其频谱特点和分辨率提高的要求设计一维数字序列l倍数内插时抗镜像数字滤波器;

(22)分别对n个长度为m的一维数字序列做l倍内插,将内插后的n个序列通过步骤(21)中的抗镜像数字滤波器进行抗镜像数字滤波,得到n个l×m长度的一维数字升采样后的序列;

(23)根据插值点位置在y方向的值y0,对步骤(22)中的n个l×m长度的一维数字序列做三次样条插值,实现y方向任意位置的插值。

更进一步的,所述步骤(21)中设计抗镜像数字滤波器之前,先对n个长度为m的列向量进行傅里叶变换从时域到频域,得到其频谱,然后根据其频谱的集中程度、下降梯度的特点和分辨率提高要求来设计高倍数内插时抗镜像数字滤波器,内插时抗镜像滤波器采用具有有限冲激响应的低通滤波器,设计低通滤波器时采用凯撒窗函数法,凯撒窗的窗函数表达式为:

式中,j是窗函数的长度,β为形状参数,是用于控制主瓣宽度和旁瓣电平的参数,j一定时,β越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当β一定时,j发生变化,其旁瓣高度不会发生变化,i0(β)是第一类修正零阶贝塞尔函数,具体公式如下:

更进一步的,步骤(22)中所述的l倍内插法采用插零法,具体为:分别在n个长度为m的一维数字序列的每个点后面插入l-1个零,即n个长度为m的一维数字序列经过内插后成为n个长度为l×m的一维数字序列。

更进一步的,步骤(23)中所述三次样条插值是指,对于每个长度为l×m的一维数字序列xi:a=x0<x1<x2<…<xl×m=b,对应的函数值为yi:y0,y1,y2,…,yl×m,i=1,2,…,l×m;通过在每一个子区间[xk-1,xk],k=1,2,…,l×m,构建一个不超过三次的分段函数s(x),在l×m个点上满足s(xi)=yi,i=0,1,2,…,l×m,s(x)为二次连续可微函数,保证最终函数曲线的光滑性,从而得到一条平滑曲线,实现任意位置的插值。

进一步的,所述步骤(3)中基于数字升采样再三次样条的插值方法,包括以下步骤:

(31)对步骤(2)中得到的由n个插值点构成的新的一维数字序列进行频谱分析,根据其频谱特点和分辨率提高的要求设计一维数字序列l倍数内插时抗镜像数字滤波器;

(32)对由n个插值点构成的新的一维数字序列做l倍内插,将内插后的序列通过步骤(31)中的抗镜像数字滤波器进行抗镜像数字滤波,得到一个l×n长度的一维数字升采样后的序列;

(33)根据插值点位置在x方向的值x0,对步骤(32)中的l×n长度的一维数字序列做三次样条插值,实现x方向任意位置的插值,最终得到二维数字图像中所需求的亚像素插值点(x0,y0)。

更进一步的,所述步骤(31)中设计抗镜像数字滤波器之前,先对由n个插值点构成的新的一维数字序列进行傅里叶变换从时域到频域,得到其频谱,然后根据其频谱的集中程度、下降梯度的特点和分辨率提高要求来设计高倍数内插时抗镜像数字滤波器,内插时抗镜像滤波器采用具有有限冲激响应的低通滤波器,设计低通滤波器时采用凯撒窗函数法,凯撒窗的窗函数表达式为:

式中,j是窗函数的长度,β为形状参数,是用于控制主瓣宽度和旁瓣电平的参数,j一定时,β越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当β一定时,j发生变化,其旁瓣高度不会发生变化,i0(β)是第一类修正零阶贝塞尔函数,具体公式如下:

更进一步的,步骤(32)中所述的l倍内插法采用插零法,具体为:在由n个插值点构成的新的一维数字序列的每个点后面插入l-1个零,即长度为n的一维数字序列经过内插后成为一个长度为l×n的一维数字序列。

更进一步的,步骤(33)中所述三次样条插值是指,对于长度为l×n的一维数字序列x:a=x0<x1<x2<…<xl×n=b,对应的函数值为y:y0,y1,y2,…,yl×n;通过在每一个子区间[xk-1,xk],k=1,2,…,l×n,构建一个不超过三次的分段函数s′(x),在l×n个点上满足s′(xi)=yi,i=0,1,2,…,l×n,s′(x)为二次连续可微函数,保证最终函数曲线的光滑性,从而得到一条平滑曲线,实现任意位置的插值。

有益效果:本发明在保证原始数字频谱特征的前提上进行有效的数字序列升采样处理,提高数字图像分析的亚像素分辨率,同时实现任意点的插值,解决现有数字采集技术有限分辨率和数字序列分析的高精度要求的矛盾。

具体的,与现有技术相比,具有以下优点:

(1)可以在保证原始数字图像频谱特征的前提上进行有效的数字图像序列升采样处理,提高数字图像分析的亚像素分辨率。

(2)本发明有效地去掉不需要的镜像分量,没有增加新的信息量。

(3)本发明的方法实现了任意点的插值,方法有效且规范,同时又兼顾准确性、复杂度等方面。

附图说明

图1是本发明方法流程图;

图2是本发明中基于数字升采样再三次样条的任意点插值方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进行详细的说明,但是本发明的保护范围不局限于所述实施例。

本发明的一种基于数字升采样再三次样条的数字图像任意点插值的方法。该方法通过x、y两个方向的基于数字升采样再三次样条的一维插值来实现二维数字图像的任意亚像素位置的插值;其中,基于数字升采样再三次样条的任意点的一维插值方法,通过对一维数字序列频谱的分析,设计在数字序列进行高倍数内插时的抗镜像数字滤波器组,在保证原始数字序列频谱特征的前提下进行有效的数字序列升采样处理,在升采样处理的基础上再进行三次样条任意点插值,实现二维数字图像的任意亚像素位置的插值,以提高数字序列分析的亚像素插值精度,本发明可解决现有数字采集技术有限分辨率和数字序列分析的高精度要求的矛盾,可应用于图像的数字相关分析等领域。

如图1所示,本发明的一种基于数字升采样再三次样条的数字图像任意点插值的方法,包括以下步骤:

(1)根据插值要求,在m×n的原二维数字图像像素点中确定插值点的位置(x0,y0)。

(2)将原二维数字图像分解为n个长度为m的列向量,每个列向量为一维数字序列,根据插值点位置在y方向的值y0,分别对上述n个长度为m的一维数字序列采用基于数字升采样再三次样条的插值方法进行插值计算,对每一个上述一维数字序列都分别得到一个纵坐标位置为y0的亚像素插值点的像素值,这些点在原二维数字图像中的二维坐标的纵坐标都为y0,其横坐标分别为0,1,2,…,n-1;这n个插值点构成新的一维数字序列。

其中,如图2所示,该步骤中基于数字升采样再三次样条的插值方法,包括以下步骤:

(21)分别对n个长度为m的一维数字序列进行频谱分析,根据其频谱特点和分辨率提高的要求设计一维数字序列l倍数内插时抗镜像数字滤波器。

具体的:设计抗镜像数字滤波器之前,先对n个长度为m的列向量进行傅里叶变换从时域到频域,得到其频谱,然后根据其频谱的集中程度、下降梯度的特点和分辨率提高要求来设计高倍数内插时抗镜像数字滤波器,内插时抗镜像滤波器采用具有有限冲激响应的低通滤波器,因为fir滤波器为线性延迟,可通过左右平移的方式直接校正,误差小;设计低通滤波器时采用凯撒窗函数法,因为凯撒窗是一个具有参数可调的优点的窗口函数,它相比于布莱克曼窗有更好的低通特性。凯撒窗的窗函数表达式为:

式中,j是窗函数的长度,β为形状参数,是用于控制主瓣宽度和旁瓣电平的参数,j一定时,β越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当β一定时,j发生变化,其旁瓣高度不会发生变化,i0(β)是第一类修正零阶贝塞尔函数,具体公式如下:

(22)分别对n个长度为m的一维数字序列做l倍内插,将内插后的n个序列通过步骤(21)中的抗镜像数字滤波器进行抗镜像数字滤波,得到一个l×m长度的一维数字升采样后的序列(图2中p为一变量,这里p=m)。其中,l倍内插法采用插零法,具体为:分别在n个长度为m的一维数字序列的每个点后面插入l-1个零,即n个长度为m的一维数字序列经过内插后成为n个长度为l×m的一维数字序列。

(23)根据插值点位置在y方向的值y0,对步骤(22)中的l×m长度的一维数字序列做三次样条插值,实现y方向任意位置的插值。

具体的:对于每个长度为l×m的一维数字序列xi:a=x0<x1<x2<…<xl×m=b,对应的函数值为yi:y0,y1,y2,…,yl×m,i=1,2,…,l×m;通过在每一个子区间[xk-1,xk],k=1,2,…,l×m,构建一个不超过三次的分段函数s(x),在l×m个点上满足s(xi)=yi,i=0,1,2,…,l×m,s(x)为二次连续可微函数,保证最终函数曲线的光滑性,从而得到一条平滑曲线,实现任意位置的插值。

(3)对步骤(2)中由n个插值点得到的长度为n的一维数字序列采用基于数字升采样再三次样条的插值方法,得到一维位置为x0的插值数据,该插值点即二维图像中所需求的亚像素插值点(x0,y0),该插值即其亚像素插值。

如图2所示,该步骤中基于数字升采样再三次样条的插值方法,包括以下步骤:

(31)对步骤(2)中得到的由n个插值点构成的新的一维数字序列进行频谱分析,根据其频谱特点和分辨率提高的要求设计一维数字序列l倍数内插时抗镜像数字滤波器。

具体的:设计抗镜像数字滤波器之前,先对由n个插值点构成的新的一维数字序列进行傅里叶变换从时域到频域,得到其频谱,然后根据其频谱的集中程度、下降梯度的特点和分辨率提高要求来设计高倍数内插时抗镜像数字滤波器,内插时抗镜像滤波器采用具有有限冲激响应的低通滤波器,设计低通滤波器时采用凯撒窗函数法,凯撒窗的窗函数表达式为:

式中,j是窗函数的长度,β为形状参数,是用于控制主瓣宽度和旁瓣电平的参数,j一定时,β越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当β一定时,j发生变化,其旁瓣高度不会发生变化,i0(β)是第一类修正零阶贝塞尔函数,具体公式如下:

(32)对由n个插值点构成的新的一维数字序列做l倍内插,将内插后的序列通过步骤(31)中的抗镜像数字滤波器进行抗镜像数字滤波,得到一个l×n长度的一维数字升采样后的序列(图2中p为一变量,这里p=n);其中,l倍内插法采用插零法,具体为:在由n个插值点构成的新的一维数字序列的每个点后面插入l-1个零,即长度为n的一维数字序列经过内插后成为一个长度为l×n的一维数字序列。

(33)根据插值点位置在x方向的值x0,对步骤(32)中的l×n长度的一维数字序列做三次样条插值,实现x方向任意位置的插值,最终得到二维数字图像中所需求的亚像素插值点(x0,y0)。

具体的:三次样条插值是指,对于长度为l×n的一维数字序列x:a=x0<x1<x2<…<xl×n=b,对应的函数值为y:y0,y1,y2,…,yl×n;通过在每一个子区间[xk-1,xk],k=1,2,…,l×n,构建一个不超过三次的分段函数s′(x),在l×n个点上满足s′(xi)=yi,i=0,1,2,…,l×n,s′(x)为二次连续可微函数,保证最终函数曲线的光滑性,从而得到一条平滑曲线,实现任意位置的插值。

采用上述方法步骤针对具体的二维数字图像进行插值处理,具体为:

(1)根据插值要求,在原二维数字图像(600行,400列像素)中确定插值点的位置(50.1234,70.1234)。

(2)将二原维数字图像分解为400个长度为600的列向量一维数字序列,根据插值点位置在y方向的值70.1234,分别对上述400个长度为600的一维数字序列采用基于数字升采样再三次样条的插值方法,对每一个上述一维数字序列都分别得到一个坐标位置为y0的亚像素插值点的像素值,这些点在原二维数字图像中的二维坐标的纵坐标都为70.1234,其横坐标分别为0,1,2,…,399;这400个插值点构成新的一维数字序列。

(3)对上述由400个插值点得到的长度为400的一维数字序列作基于数字升采样再三次样条的插值,得到一维位置为50.1234(x0)的插值数据,该插值点即二维图像中所需求的亚像素插值点(50.1234,70.1234),该插值即其亚像素插值。

其中,步骤(2)和步骤(3)中基于数字升采样再三次样条的任意点插值方法,包括如下步骤:

(a)运用傅里叶变换得到步骤(2)和步骤(3)中所述序列的频谱图,根据其频谱特点和分辨率提高要求来设计内插时抗镜像滤波器。频谱主要集中在4/5π,下降较陡,所以阻带设置在截止频率的0.80处。内插时抗镜像滤波器采用的是具有有限冲激响应的低通滤波器,设计线性相位fir滤波器采用的是凯撒窗(kaiser)函数。阶数采用200阶,凯撒窗函数选择的β值为10,此时可以达到很好的效果。

(b)对一维数字序列做10倍内插,10倍内插方法采用插零法,即在步骤(2)和步骤(3)中所述序列的每个点后面插入9个零,即步骤(2)中400个长度为600的列向量插值后成为400个长度为10×600的列向量;步骤(3)中由400个插值点得到的长度为400的一维数字序列插值后成为长度为10×400的一维数字序列。

(c)对步骤(b)中的10×600或10×400长度的一维数字序列做三次样条插值,三次样条函数根据10×600或10×400个点的值来分别构成10×599或10×399个分段函数,实现任意位置的插值。

对于原始二维数字图像先采用升采样过程处理得到亚像素级别,之后对其做三次样条使其达到插值级别在0.001的位置点,将其与原始二维数字图像的高分辨率精度的序列相比较,随机选取1000个点(包含原始像素点与插值点)进行比较得到均方误差。同时对原始二维数字图像直接进行三次样条插值后与原始二维数字图像的高分辨率精度的序列相比较,选取与上述相同的1000个点进行比较得到均方误差。

为了验证先采用升采样处理过程达到亚像素分辨率再三次样条的效果更好,做了数组实验验证,采用升采样处理再三次样条的方法与直接三次样条方法所得到的均方误差如表格1所示。实验结果表明,本发明的一种基于数字升采样再三次样条的对数字图像中任意亚像素位置进行插值的方法可以有效地提高数字图像的分辨率,可以实现比仅使用三次样条更好的精度。

表1采用升采样处理再三次样条的方法与直接三次样条方法的mse比较

通过上述实施例可以看出,本发明可以在保证原始数字散斑图像频谱特征的前提上进行有效的数字图像序列升采样处理,提高数字散斑场分析的亚像素分辨率,同时实现任意点的插值,解决现有数字采集技术有限分辨率和数字序列分析的高精度要求的矛盾。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1