数字图像上半径的估计方法及装置与流程

文档序号:12804971阅读:247来源:国知局
数字图像上半径的估计方法及装置与流程

本发明涉及图像处理技术领域,具体涉及一种数字图像上半径的估计方法及装置。



背景技术:

无论数码相机、摄像机或者摄像手机,图像传感器采集到的图像数据,均需要依次经过模拟信号处理器(analogsignalprocessing,asp)、模拟数字转换器(analogtodigitalconverter,adc)以及图像信号处理器(imagesignalprocessor,isp)的处理后,才能最终显示在上述终端设备上。

其中,isp主要作用是对adc输出的数字信号做后期处理,isp的性能决定了摄像机的成像质量。通常情况下,isp可以包括用于执行线性纠正、噪声去除、坏点去除、内插、白平衡以及自动曝光控制等功能的多个功能模块。由于光学成像的原理,isp获得的输入图像上会表现出与光学中心相关的性质,因此,isp的部分功能模块通常需要计算所述输入图像上某个像素点至光学中心的距离,来处理所述输入图像所表现出的与光学中心相关的性质。

目前,在计算isp的输入图像上任一像素点至该图像上固定参考点的距离(简称半径)时,一种方法通过执行开方运算得到所述距离,导致数字电路实现代价较大;另一种方法采用固定的近似模型得到所述距离,虽然可以避免开方运算,但精度较差。



技术实现要素:

本发明实施例主要用于解决如何以较低的数字电路代价精确地估计isp的输入图像上任一像素点至该图像上固定参考点的距离。

为解决上述问题,本发明实施例提供了一种数字图像上半径的估计方法,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,所述方法包括:

获取半径r(x-2k,y)的值、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)的平方r_int_sq(x-2k,y),以及所述半径r(x,y)的平方r_sq(x,y),其中,所述半径r(x-2k,y)为所述数字图像上像素点(x-2k,y)至所述固定参考点(xc,yc)的距离,k≥0且k为整数;

根据r_int(x-2k,y),分别计算第一值z1及第二值z2,其中,z1=r_int_sq(x-2k,y)-r_int(x-2k,y)*2k+4k-1,z2=r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4k-1

分别比较r_sq(x,y)与所述第一值z1及所述第二值z2的大小;

根据比较结果,对r_int(x-2k,y)进行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y),包括以下至少一种:当r_sq(x,y)<z1时,r_int(x,y)=r_int(x-2k,y)-2k;当r_sq(x,y)≥z2时,r_int(x,y)=r_int(x-2k,y)+2k;当z2>r_sq(x,y)≥z1时,r_int(x,y)=r_int(x-2k,y)。

可选地,所述方法还包括:根据所述比较结果,对r_int_sq(x-2k,y)执行加法及移位运算,获得r_int_sq(x,y),包括以下至少一种:

当r_sq(x,y)<z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)-r_int(x-2k,y)*2(k+1)+2(k+1)

当r_sq(x,y)≥z2时,r_int_sq(x,y)=r_int_sq(x-2k,y)+r_int(x-2k,y)*2(k+1)+2(k+1)

当z2>r_sq(x,y)≥z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)。

可选地,采用如下公式计算r_sq(x,y):

r_sq(x,y)=r_sq(x-2k,y)+((x-xc)<<(k+1))-(1<<(k<<1))。

可选地,所述固定参考点(xc,yc)为所述数字图像的光学中心。

本发明实施例还提供了另一种数字图像上半径的估计方法,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,所述方法包括:

获取半径r(x,y-2k)的值、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)的平方r_int_sq(x,y-2k)以及所述半径r(x,y)的平方r_sq(x,y),其中,所述半径r(x,y-2k)为所述数字图像上像素点(x,y-2k)至所述固定参考点(xc,yc)的距离,k≥0且k为整数;

根据r_int(x,y-2k),分别计算第三值z3及第四值z4,其中,z3=r_int_sq(x,y-2k)-r_int(x,y-2k)*2k+4k-1,z4=r_int_sq(x,y-2k)+r_int(x,y-2k)*2k+4k-1

分别比较r_sq(x,y)与所述第三值z3及第四值z4的大小;

根据比较结果,对r_int(x,y-2k)执行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y),包括以下至少一种:当r_sq(x,y)<z3时,r_int(x,y)=r_int(x,y-2k)-2k;当r_sq(x,y)≥z4时,r_int(x,y)=r_int(x,y-2k)+2k;当z4>r_sq(x,y)≥z3时,r_int(x,y)=r_int(x,y-2k)。

可选地,所述方法还包括:根据所述比较结果,对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y),包括以下至少一种:

当r_sq(x,y)<z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)-r_int(x,y-2k)*2(k+1)+2(k+1)

当r_sq(x,y)≥z4时,r_int_sq(x,y)=r_int_sq(x,y-2k)+r_int(x,y-2k)*2(k+1)+2(k+1)

当z4>r_sq(x,y)≥z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)。

可选地,采用如下公式计算r_sq(x,y):

r_sq(x,y)=r_sq(x,y-2k)+((y-yc)<<(k+1))-(1<<(k<<1))。

可选地,所述固定参考点(xc,yc)为所述数字图像的光学中心。

本发明实施例还提供了一种数字图像上半径的估计装置,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,所述装置包括:

第一获取单元,适于获取半径r(x-2k,y)的值、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)的平方r_int_sq(x-2k,y),以及所述半径r(x,y)的平方r_sq(x,y),其中,所述半径r(x-2k,y)为所述数字图像上像素点(x-2k,y)至所述固定参考点(xc,yc)的距离,k≥0且k为整数;

第一计算单元,适于根据r_int(x-2k,y),分别计算第一值z1及第二值z2,其中,z1=r_int_sq(x-2k,y)-r_int(x-2k,y)*2k+4k-1,z2=r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4k-1

第一比较单元,适于分别比较r_sq(x,y)与第一值z1及第二值z2的大小;

第一运算单元,适于根据比较结果,相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y),包括以下至少一个:

第一运算子单元,适于当r_sq(x,y)<z1时,r_int(x,y)=r_int(x-2k,y)-2k

第二运算子单元,适于当r_sq(x,y)≥z2时,r_int(x,y)=r_int(x-2k,y)+2k

第三运算子单元,适于当z2>r_sq(x,y)≥z1时,r_int(x,y)=r_int(x-2k,y)。

可选地,所述方法还包括:第二运算单元,适于根据所述比较结果,对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y),包括以下至少一个:

第四运算子单元,适于当r_sq(x,y)<z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)-r_int(x-2k,y)*2(k+1)+2(k+1)

第五运算子单元,适于当r_sq(x,y)≥z2时,r_int_sq(x,y)=r_int_sq(x-2k,y)+r_int(x-2k,y)*2(k+1)+2(k+1)

第六运算子单元,适于当z2>r_sq(x,y)≥z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)。

可选地,所述第一获取单元通过如下公式获取到的r_sq(x,y):

r_sq(x,y)=r_sq(x-2k,y)+((x-xc)<<(k+1))-(1<<(k<<1))。

可选地,所述固定参考点(xc,yc)为所述数字图像的光学中心。

本发明实施例还提供了一种数字图像上半径的估计装置,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,所述装置包括:

第二获取单元,适于获取半径r(x,y-2k)的值、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)的平方r_int_sq(x,y-2k)以及所述半径r(x,y)的平方r_sq(x,y),其中,所述半径r(x,y-2k)为所述数字图像上像素点(x,y-2k)至所述固定参考点(xc,yc)的距离,k≥0且k为整数;

第二计算单元,适于根据r_int(x,y-2k),分别计算第三值z3及第四值z4,其中,z3=r_int_sq(x,y-2k)-r_int(x,y-2k)*2k+4k-1,z4=r_int_sq(x,y-2k)+r_int(x,y-2k)*2k+4k-1

第二比较单元,适于分别比较r_sq(x,y)与所述第三值z3及第四值z4的大小;

第三运算单元,适于根据比较结果,对r_int(x,y-2k)执行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y),包括以下至少一个:

第七运算子单元,适于当r_sq(x,y)<z3时,r_int(x,y)=r_int(x,y-2k)-2k

第八运算子单元,适于当r_sq(x,y)≥z4时,r_int(x,y)=r_int(x,y-2k)+2k

第九运算子单元,适于当z4>r_sq(x,y)≥z3时,r_int(x,y)=r_int(x,y-2k)。

可选地,所述装置还包括:第四运算单元,适于根据所述比较结果对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y),包括以下至少一个:

第十运算子单元,适于当r_sq(x,y)<z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)-r_int(x,y-2k)*2(k+1)+2(k+1)

第十一运算子单元,适于当r_sq(x,y)≥z4时,r_int_sq(x,y)=r_int_sq(x,y-2k)+r_int(x,y-2k)*2(k+1)+2(k+1)

第十二运算子单元,适于当z4>r_sq(x,y)≥z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)。

可选地,所述第二获取单元适于通过如下公式获取到的r_sq(x,y):

r_sq(x,y)=r_sq(x,y-2k)+((y-yc)<<(k+1))-(1<<(k<<1))。

可选地,所述固定参考点(xc,yc)为所述数字图像的光学中心。

与现有技术相比,本发明的技术方案至少具有以下优点:

在获取到r_sq(x,y)后,通过比较r_sq(x,y)与所述第一值z1及所述第二值z2的大小,进而可以根据比较结果,对r_int(x-2k,y)执行相应的运算,来获得半径r(x,y)的值。本发明的一个实施例中的数字图像上半径的估计方法,通过在行方向上间隔2k个像素点的两个像素点之间建立递推关系,在获得任一像素点(x-2k,y)至固定参考点的距离r(x-2k,y)时,仅须使用加法器和比较器即可获得r(x,y),既无须进行开方运算,有效降低数字电路代价,并且,相对于采用固定的数学模型来获得r_sq(x,y),精确度更高。

在获取到r_sq(x,y)后,通过比较r_sq(x,y)与所述第三值z3及第四值z4的大小,进而可以根据比较结果,对r_int(x,y-2k)执行相应的运算,来获得半径r(x,y)的值。本发明的另一个实施例中的数字图像上半径的估计方法,通过在列方向上间隔2k个像素点的两个像素点之间建立递推关系,在获得任一像素点(x,y-2k)至固定参考点的距离r(x,y-2k)时,仅须使用加法器和比较器即可获得r(x,y),既无须进行开方运算,有效降低数字电路代价,并且,相对于采用固定的数学模型来获得r_sq(x,y),精确度更高。

附图说明

图1是本发明实施例中一种数字图像上半径的估计方法流程图;

图2是本发明实施例中数字图像上一个像素点对应的半径的近似取值区间示意图;

图3是本发明实施例中另一种数字图像上半径的估计方法流程图;

图4是本发明实施例中一种数字图像上半径的估计装置的结构示意图;

图5是本发明实施例中另一种数字图像上半径的估计装置的结构示意图。

具体实施方式

目前,在计算数字图像上任一像素点(x,y)至所述数字图像光学中心(xc,yc)的距离即半径r(x,y)时,一种方法为:先获得r_sq(x,y)的值,再对r_sq(x,y)进行开方运算得到半径r(x,y)。这种方法需要很高的数字逻辑代价,并且当图像分辨率越来越高时或者图像处理算法需要的半径精度增加时,数字逻辑电路的实现代价就会越大。另外一种方法为:获得r_sq(x,y)后,采用固定的数学模型来获得半径r(x,y),通过所述数学模型获得半径r(x,y)时可以避免开方运算但精确度较差。

针对上述问题,本发明的实施例提供了一种数字图像上半径的计算方法,所述方法在获取到r_sq(x,y)后,通过比较r_sq(x,y)与所述第一值z1及所述第二值z2的大小,进而可以根据比较结果,对r_int(x-2k,y)执行相应的运算,来获得半径r(x,y)的值。所述方法通过在像素点之间建立递推关系,在获得任一像素点(x-2k,y)至固定参考点的距离r(x-2k,y)时,仅须使用加法器和比较器即可获得r(x,y),既无须进行开方运算,有效降低数字电路代价,并且,相对于采用固定的数学模型来获得r_sq(x,y),精确度更高。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细的说明。

本发明实施例提供了一种数字图像上半径的估计方法。下面参照图1对所述方法进行详细说明。

步骤11:获取半径r(x-2k,y)的值、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)的平方r_int_sq(x-2k,y),以及所述半径r(x,y)的平方r_sq(x,y)。

在具体实施中,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,(x-2k,y)为所述像素点(x,y)的前2k行y列的像素点。所述半径r(x-2k,y)为所述数 字图像上像素点(x-2k,y)至所述固定参考点(xc,yc)的距离,k≥0且k为整数,比如,当k=0时,(x-2k,y)即(x-1,y),像素点(x-1,y)与像素点(x,y)为相邻两行的两个像素点。r_int_sq(x-2k,y)=(r_int(x-2k,y))2,r_sq(x,y)=(r(x,y))2

需要说明的是,所述固定参考点(xc,yc)可以是所述数字图像上任一像素点,也可以是所述数字图像的光学中心。

需要说明的是,r(x-2k,y)、r_int(x-2k,y)、r_int_sq(x-2k,y)以及r_sq(x,y)可以是用户输入的,也可以是通过相关计算获取到的,具体获取方式不作限制。

为了进一步降低数字逻辑代价,在具体实施中,可以通过公式(1)获取r_sq(x,y):

r_sq(x,y)=r_sq(x-2k,y)+((x-xc)<<(k+1))-(1<<(k<<1));(1)

通过公式(1)可知,对(x-xc)的差值以及k执行移位运算后,再与r_sq(x-2k,y)求和,仅需使用加法器及移位器即可获得r_sq(x,y),因此可以进一步降低数字逻辑代价。

步骤12,根据r_int(x-2k,y),分别计算第一值z1及第二值z2。

在具体实施中,z1=r_int_sq(x-2k,y)-r_int(x-2k,y)*2k+4k-1,z2=r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4k-1。将r_int(x-2k,y)及r_int_sq(x-2k,y)的值分别代入第一值z1及第二值z2,得到相应的运算结果。

步骤13,分别比较r_sq(x,y)与所述第一值z1及所述第二值z2的大小。

步骤14,根据比较结果,对r_int(x-2k,y)进行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y)。

在具体实施中,当r_sq(x,y)<z1时,r_int(x,y)=r_int(x-2k,y)-2k,当r_sq(x,y)≥z2时,r_int(x,y)=r_int(x-2k,y)+2k。在此两种情况下,仅需使用加法器对r_int(x-2k,y)与2k执行加法运算即可获得r_int(x,y)。

当z2>r_sq(x,y)≥z1时,r_int(x,y)=r_int(x-2k,y),此时直接将r_int(x-2k,y)作为r_int(x,y)的值即可,无须加法器,更无须开方运算,数字逻辑代价更 小。

在具体实施中,为了进一步降低数字逻辑代价,所述方法还可以包括如下步骤:根据所述比较结果,对r_int_sq(x-2k,y)执行加法及移位运算,获得r_int_sq(x,y)。具体运算过程可以包括以下至少一种:

当r_sq(x,y)<z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)-r_int(x-2k,y)*2(k+1)+2(k+1)。当r_sq(x,y)≥z2时,r_int_sq(x,y)=r_int_sq(x-2k,y)+r_int(x-2k,y)*2(k+1)+2(k+1)。在此两种情况下,获得r_int_sq(x,y)时,仅需使用加法器对执行相应的加法运算,即可获得r_int_sq(x,y)。

当z2>r_sq(x,y)≥z1时,r_int_sq(x,y)=r_int_sq(x-2k,y),此时无须使用加法器即可获得r_int_sq(x,y)的值。

需要说明的是,本领域人员可以参照上述方法获得r_int_sq(x-2k,y),由此可以进一步降低计算r(x,y)整个过程的数字逻辑代价。

需要说明的是,本发明实施例中数字图像上半径的估计方法,通过在行方向上间隔2k个像素点的两像素点之间建立递推关系,当k取值不同时,在已知其中一个像素点的情况下,可以并行对2k个像素点至固定参考点(xc,yc)的距离进行计算,也就是可以并行获得2k个像素点对应的半径,在需要应用多个半径的场合,运算效率更高。

由以上内容可知,本发明实施例中的数字图像上半径的估计方法,通过像素点之间建立递推关系,在获得任一像素点(x-2k,y)至固定参考点的距离r(x-2k,y)时,仅须使用加法器和比较器即可获得r(x,y),可以有效降低数字电路代价,并且处理方式更加灵活。

为了便于本领域技术人员对本发明实施例的理解,下面结合图2,对上述数字图像上半径的估计方法的原理进行介绍:

在以下描述中,r_sq(x,y)=(x-xc)2+(y-yc)2=r(x,y)2;r_int(x,y)=floor(r(x,y)/2k+0.5)*2k,floor()为向下取整函数;r_int_sq(x,y)=r_int(x,y)2

已知:r(x-2k,y)点的信息r_int(x-2k,y),r_sq(x-2k,y)及r_int_sq(x-2k,y),(x,y)点的相关信息r_int(x,y),r(x,y)以及r_int_sq(x,y)可以通过下面的递推方 法获得:

首先,利用三角形两边之差小于第三边的关系,即|a-b|<c,其中a、b及c分别为三角形的三边的长度,当三个顶点共线时,|a-b|=c。

因此,将(x-2k,y)、(x,y)以及(xc,yc)作为三角形的三个顶点,则|r(x-2k,y)–r(x,y)|≤2k

由于r_int=floor(r/2k+0.5)*2k,因此得出:|r_int–r|≤2(k-1)

故:|r_int(x,y)–r_int(x-2k,y)|/2k

=|r_int(x,y)–r(x,y)+r(x,y)–r_int(x-2k,y)+r(x-2k,y)–r(x-2k,y)|/2k

≤(|r_int(x,y)-r(x,y)|+|r_int(x-2k,y)–r(x-2k,y)|+|r(x,y)-r(x-2k,y)|)/2k

≤2(1)

在式(1)中,当同时满足式(2)、(3)、(4)时,|r_int(x,y)–r_int(x-2k,y)|/2k=2:

|r_int(x,y)-r(x,y)|/2k=0.5(2)

|r_int(x-2k,y)–r(x-2k,y)|/2k=0.5(3)

|r(x,y)-r(x-2k,y)|/2k=1(4)

由式(4)可知,r(x,y)=r(x-2k,y)+2k(5)

或者,r(x,y)=r(x-2k,y)-2k(6)

由式(5)可以得出:

r_int(x,y)=floor(r(x,y)/2k+0.5)*2k=floor(r(x-2k,y)/2k+1+0.5)*2k=r_int(x-2k,y)+2k

由式(6)可以得出:

r_int(x,y)=floor(r(x,y)/2k+0.5)*2k=floor(r(x-2k,y)/2k-1+0.5)*2k=r_int(x-2k,y)-r_int(x-2k,y)–2k

因此,|r_int(x,y)–r_int(x-2k,y)|/2k=2无法成立,

因此,|r_int(x,y)–r_int(x-2k,y)|/2k≤1,即r_int(x,y)-r_int(x-2k,y)=-2k, 2k或者0。也就是说,如图2所示,r_int(x,y)的取值在r_int(x-2k),y)-2k附近,或者在r_int(x-2k),y)附近,或者在r_int(x-2k),y)+2k附近。

根据这个结论,可以得到如下递推关系:

r_sq(x,y)=(x-xc)2+(y-yc)2

=(x-2k-xc+2k)2+(y-yc)2

=(x-2k-xc)2+2*(x-2k-xc)*2k+2(2*k)+(y-yc)2

=r_sq(x-2k,y)+((x-xc)<<(k+1))-(1<<(k<<1))。

此时,若r_sq(x,y)<r_int_sq(x-2k,y)–r_int(x-2k,y)*2k+4(k-1),则可以得出:

r_int(x,y)=r_int(x-2k,y)–2k

r_int_sq(x,y)=r_int(x,y)2=r_int_sq(x-2k,y)-r_int(x-2k,y)*2(k+1)+2(k+1)=r_int_sq(x-2k,y)-(r_int(x-2k,y)<<(k+1))+(1<<(k+1));

若r_sq(x,y)≥r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4(k-1),则可以得出:

r_int(x,y)=r_int(x-2k,y)+2k

r_int_sq(x,y)=r_int(x,y)2=r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+1)+2(k+1)=r_int_sq(x-2k,y)+(r_int(x-2k,y)<<(k+1))+(1<<(k+1));

若r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4(k-1)>r_sq(x,y)≥r_int_sq(x-2k,y)–r_int(x-2k,y)*2k+4(k-1),则可以得出:

r_int(x,y)=r_int(x-2k,y);

r_int_sq(x,y)=r_int(x,y)^2=r_int_sq(x-2k,y)。

由上述原理描述内容可知,本发明实施例中所述半径的计算误差范围是2(k-1),通过适当降低计算精度,可以有效提高计算速度。

本发明实施例提供了另一种数字图像上半径的估计方法。下面参照图3对所述方法进行详细说明。

步骤31:获取半径r(x,y-2k)的值、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)的平方r_int_sq(x,y-2k) 以及所述半径r(x,y)的平方r_sq(x,y)。

在具体实施中,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点,(x,y-2k)为所述像素点(x,y)的前2k列x行的像素点。所述半径r(x,y-2k)为所述数字图像上像素点(x,y-2k)至所述固定参考点(xc,yc)的距离,k≥0且k为整数,比如,当k=0时,(x,y-2k)即(x,y-1),像素点(x,y-1)与像素点(x,y)为相邻两列的两个像素点。r_int_sq(x,y-2k)=(r_int(x,y-2k))2,r_sq(x,y)=(r(x,y))2

需要说明的是,所述固定参考点(xc,yc)可以是所述数字图像上任一像素点,也可以是所述数字图像的光学中心。

需要说明的是,r(x,y-2k)、r_int(x,y-2k)、r_int_sq(x,y-2k)以及r_sq(x,y)可以是用户输入的,也可以是通过相关计算获取到的,具体获取方式不作限制。

为了进一步降低数字逻辑代价,在具体实施中,可以通过公式(2)获取r_sq(x,y):

r_sq(x,y)=r_sq(x,y-2k)+((y-yc)<<(k+1))-(1<<(k<<1));(2)

通过公式(2)可知,对(y-yc)的差值以及k执行移位运算后,再与r_sq(x,y-2k)求和,仅需使用加法器及移位器即可获得r_sq(x,y),因此可以进一步降低数字逻辑代价。

步骤32,根据r_int(x,y-2k),分别计算第三值z3及第四值z4。

在具体实施中,z3=r_int_sq(x,y-2k)-r_int(x,y-2k)*2k+4k-1,z4=r_int_sq(x,y-2k)+r_int(x,y-2k)*2k+4k-1。将r_int(x,y-2k)及r_int_sq(x,y-2k)的值分别代入第三值z3及第四值z4,得到相应的运算结果。

步骤33,分别比较r_sq(x,y)与所述第三值z3及所述第四值z4的大小。

步骤34,根据比较结果,对r_int(x,y-2k)进行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y)。

在具体实施中,当r_sq(x,y)<z3时,r_int(x,y)=r_int(x,y-2k)-2k,当r_sq(x,y)≥z4时,r_int(x,y)=r_int(x,y-2k)+2k。在此两种情况下,仅需使用加法器对r_int(x,y-2k)与2k执行加法运算即可获得r_int(x,y)。

当z4>r_sq(x,y)≥z3时,r_int(x,y)=r_int(x,y-2k),此时直接将r_int(x,y-2k)作为r_int(x,y)的值即可,无须加法器,更无须开方运算,数字逻辑代价更小。

在具体实施中,为了进一步降低数字逻辑代价,所述方法还可以包括如下步骤:根据所述比较结果,对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y)。具体运算过程可以包括以下至少一种:

当r_sq(x,y)<z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)-r_int(x,y-2k)*2(k+1)+2(k+1)。当r_sq(x,y)≥z4时,r_int_sq(x,y)=r_int_sq(x,y-2k)+r_int(x,y-2k)*2(k+1)+2(k+1)。在此两种情况下,获得r_int_sq(x,y)时,仅需使用加法器对执行相应的加法运算,即可获得r_int_sq(x,y)。

当z4>r_sq(x,y)≥z3时,r_int_sq(x,y)=r_int_sq(x,y-2k),此时无须使用加法器即可获得r_int_sq(x,y)的值。

需要说明的是,本领域人员可以参照上述方法获得r_int_sq(x,y-2k),由此可以进一步降低计算r(x,y)整个过程的数字逻辑代价。

需要说明的是,本发明实施例中数字图像上半径的估计方法,通过在列方向上间隔2k个像素点的两像素点之间建立递推关系,当k取值不同时,在已知其中一个像素点的情况下,可以并行对2k个像素点至固定参考点(xc,yc)的距离进行计算,也就是可以并行获得2k个像素点对应的半径,在需要应用多个半径的场合,运算效率更高。

由以上内容可知,本发明实施例中的数字图像上半径的估计方法,通过在像素点之间建立递推关系,在获得任一像素点(x-2k,y)至固定参考点的距离r(x-2k,y)时,仅须使用加法器和比较器即可获得r(x,y),可以有效降低数字电路代价,并且处理方式更加灵活。

需要说明的是,本领域人员可以参照上述对图1中示出的数字图像上半径的估计方法原理的描述,理解本实施例中的估计方法,此处不再赘述。

为了使本领域技术人员更好地理解和实现本发明,以下分别对上述方法对应的装置进行详细描述。

本发明实施例提供了一种数字图像上半径的估计装置,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点。下面参照图4对所述装置进行详细说明:

如图4所示,所述装置可以包括:第一获取单元41,第一计算单元42,第一比较单元43以及第一运算单元44。其中:

所述第一获取单元41,适于获取半径r(x-2k,y)的值、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)、所述半径r(x-2k,y)的整数近似值r_int(x-2k,y)的平方r_int_sq(x-2k,y),以及所述半径r(x,y)的平方r_sq(x,y)。所述半径r(x-2k,y)为所述数字图像上像素点(x-2k,y)至所述固定参考点(xc,yc)的距离,k≥0且k为整数。

所述第一计算单元42,适于根据r_int(x-2k,y),分别计算第一值z1及第二值z2,其中,z1=r_int_sq(x-2k,y)-r_int(x-2k,y)*2k+4k-1,z2=r_int_sq(x-2k,y)+r_int(x-2k,y)*2k+4k-1

所述第一比较单元43,适于分别比较r_sq(x,y)与第一值z1及第二值z2的大小。

所述第一运算单元44,适于根据比较结果,相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r(x,y)。

所述第一运算单元44包括以下至少一个:第一运算子单元441,第二运算子单元442以及第三运算子单元443。所述第一运算子单元441,适于当r_sq(x,y)<z1时,r_int(x,y)=r_int(x-2k,y)-2k。所述第二运算子单元442,适于当r_sq(x,y)≥z2时,r_int(x,y)=r_int(x-2k,y)+2k,所述第三运算子单元443,适于当z2>r_sq(x,y)≥z1时,r_int(x,y)=r_int(x-2k,y)。

在具体实施中,所述装置还包括:第二运算单元45。所述第二运算单元45适于根据所述比较结果,对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y)。

所述第二运算单元45包括以下至少一个:第四运算子单元451,第五运算子单元452以及第六运算子单元453。其中,所述第四运算子单元451,适于当r_sq(x,y)<z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)-r_int(x-2k,y)*2(k+1)+2(k+1)。所述第五运算子单元,适于当r_sq(x,y)≥z2时,r_int_sq(x,y)=r_int_sq(x-2k,y)+r_int(x-2k,y)*2(k+1)+2(k+1)。所述第六运算子单元,适于当z2>r_sq(x,y)≥z1时,r_int_sq(x,y)=r_int_sq(x-2k,y)。

所述第一获取单元41通过如下公式获取到的r_sq(x,y):r_sq(x,y)=r_sq(x-2k,y)+((x-xc)<<(k+1))-(1<<(k<<1))。

在具体实施中,所述固定参考点(xc,yc)可以为所述数字图像的光学中心。

本发明实施例还提供了另一种数字图像上半径的估计装置,所述数字图像包括多行多列个像素点,所述半径r(x,y)为所述数字图像上任一像素点(x,y)至固定参考点(xc,yc)的距离,所述固定参考点(xc,yc)为所述数字图像上第xc行yc列的像素点。下面参照图5,对所述装置进行详细说明:

如图5所示,所述装置可以包括:第二获取单元51,第二计算单元52,第二比较单元53以及第三运算单元54。其中:

所述第二获取单元51,适于获取半径r(x,y-2k)的值、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)、所述半径r(x,y-2k)的整数近似值r_int(x,y-2k)的平方r_int_sq(x,y-2k)以及所述半径r(x,y)的平方r_sq(x,y)。所述半径r(x,y-2k)为所述数字图像上像素点(x,y-2k)至所述固定参考点(xc,yc)的距离,k≥0且k为整数。

所述第二计算单元52,适于根据r_int(x,y-2k),分别计算第三值z3及第四值z4,其中,z3=r_int_sq(x,y-2k)-r_int(x,y-2k)*2k+4k-1,z4=r_int_sq(x,y-2k)+r_int(x,y-2k)*2k+4k-1

所述第二比较单元53,适于分别比较r_sq(x,y)与所述第三值z3及第四值z4的大小。

所述第三运算单元54,适于根据比较结果,对r_int(x,y-2k)执行相应的运算,将运算得到的所述半径r(x,y)的整数近似值r_int(x,y)作为半径r (x,y)。

所述第三运算单元54包括以下至少一个:第七运算子单元541,第八运算子单元542以及第九运算子单元543。其中,所述第七运算子单元541,适于当r_sq(x,y)<z3时,r_int(x,y)=r_int(x,y-2k)-2k。所述第八运算子单元542,适于当r_sq(x,y)≥z4时,r_int(x,y)=r_int(x,y-2k)+2k。所述第九运算子单元543,适于当z4>r_sq(x,y)≥z3时,r_int(x,y)=r_int(x,y-2k)。

在具体实施中,所述装置还包括:第四运算单元55。所述第四运算单元55适于根据所述比较结果对r_int_sq(x,y-2k)执行加法及移位运算,获得r_int_sq(x,y)。

所述第四运算单元55可以包括以下至少一个:第十运算子单元551,第十一运算子单元552以及第十二运算子单元553。其中,所述第十运算子单元551,适于当r_sq(x,y)<z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)-r_int(x,y-2k)*2(k+1)+2(k+1)。所述第十一运算子单元552,适于当r_sq(x,y)≥z4时,r_int_sq(x,y)=r_int_sq(x,y-2k)+r_int(x,y-2k)*2(k+1)+2(k+1)。所述第十二运算子单元553,适于当z4>r_sq(x,y)≥z3时,r_int_sq(x,y)=r_int_sq(x,y-2k)。

在具体实施中,所述第二获取单元51适于通过如下公式获取到的r_sq(x,y):r_sq(x,y)=r_sq(x,y-2k)+((y-yc)<<(k+1))-(1<<(k<<1))。

在具体实施中,所述固定参考点(xc,yc)可以为所述数字图像的光学中心。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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