纹线距离的计算方法和装置转让专利

申请号 : CN201510080690.0

文献号 : CN105205802B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑利徐坤平杨云

申请人 : 比亚迪股份有限公司

摘要 :

本发明公开了一种纹线距离的计算方法和装置,该方法包括:获取原始图像并进行灰度处理以生成灰度图像;根据灰度图像生成法向图和切向图;根据切向图对灰度图像进行滤波以生成平滑图像,并将平滑图像转换为二值图像;对二值图像进行分块,并根据法向图确定每个分块的中心点的法向方向;在每个分块内对分块的中心点的法向方向上的像素进行遍历以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值;根据变化次数和变化时对应边界点的坐标和亚像素值生成纹线距离。本发明的方法,通过寻找脊线和谷线的边界点并根据边界点的坐标和亚像素值计算纹线距离,提高了准确度,且抗噪声能力强,适用范围更广。

权利要求 :

1.一种纹线距离的计算方法,其特征在于,包括以下步骤:

获取原始图像并进行灰度处理以生成灰度图像;

根据所述灰度图像生成法向图和切向图;

根据所述切向图对所述灰度图像进行滤波以生成平滑图像,并将所述平滑图像转换为二值图像;

对所述二值图像进行分块,并根据所述法向图确定每个分块的中心点的法向方向;

在所述每个分块内对所述分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,所述像素值为第一像素值的点为脊线所在的像素点,所述像素值为第二像素值的点为谷线所在的像素点;以及根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数和所述变化时对应边界点的坐标和亚像素值生成纹线距离。

2.如权利要求1所述的纹线距离的计算方法,其特征在于,还包括:

根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数获取所述边界点的个数;

当所述边界点的个数小于预设个数时,则进一步在所述分块内对所述分块的中心点的法向方向的反方向上的像素进行遍历。

3.如权利要求1所述的纹线距离的计算方法,其特征在于,通过以下步骤生成所述边界点的亚像素值:沿着预设方向获取与所述变化时对应边界点相邻的两个像素点的像素值;

根据所述两个像素点的像素值生成所述边界点的亚像素值。

4.如权利要求3所述的纹线距离的计算方法,其特征在于,当所述分块的中心点的法向方向对应的法向角度等于0度时,所述预设方向为竖直方向,当所述分块的中心点的法向方向对应的法向角度等于90度时,所述预设方向为水平方向,如果与所述边界点相邻的两个像素点的像素值均与所述边界点的像素值相同,则所述边界点的亚像素值为0;

如果与所述边界点相邻的两个像素点的像素值中只有一个与所述边界点的像素值相同,则所述边界点的亚像素值为0.5;

如果与所述边界点相邻的两个像素点的像素值均不与所述边界点的像素值相同,则所述边界点的亚像素值为1。

5.如权利要求3所述的纹线距离的计算方法,其特征在于,当所述分块的中心点的法向方向对应的法向角度既不等于0度也不等于90度时,所述预设方向为倾斜方向,如果与所述边界点相邻的两个像素点的像素值均与所述边界点的像素值相同,则所述边界点的亚像素值为0;

如果与所述边界点相邻的两个像素点的像素值中只有一个与所述边界点的像素值相同,则所述边界点的亚像素值为0.25;

如果与所述边界点相邻的两个像素点的像素值均不与所述边界点的像素值相同,则所述边界点的亚像素值为0.5。

6.如权利要求1所述的纹线距离的计算方法,其特征在于,通过以下公式生成所述纹线距离:其中,num1和num2为所述像素值为第一像素值和像素值为第二像素值之间的变化次数,num1为由像素值为1变化为像素值为第一像素值的次数,num2为由像素值为第一像素值变化为像素值为第二像素值的次数,X1和Xnum1分别为所述每个分块内沿所述法向方向第1次出现由像素值为第二像素值变化为像素值为第一像素值时和第num1次出现由像素值为第二像素值变化为像素值为第一像素值时对应的边界点的横坐标值,Y1和Ynum2分别为所述每个分块内沿所述法向方向第1次出现由像素值为第一像素值变化为像素值为第二像素值时和第num2次出现由像素值为第一像素值变化为像素值为第二像素值时对应的边界点的纵坐标值,θ为所述每个分块的中心点的法向角度,δi为所述边界点的亚像素值,D1(i,j)和D2(i,j)分别为由像素值为第二像素值变化为像素值为第一像素值和由像素值为第一像素值变化为像素值为第二像素值对应计算出的距离,D(i,j)为所述每个分块的中心点的纹线距离。

7.如权利要求1所述的纹线距离的计算方法,其特征在于,在所述根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数和变化时对应边界点的坐标和亚像素值生成纹线距离之后,还包括:对所述纹线距离进行5*5局部区域均值滤波。

8.一种纹线距离的计算装置,其特征在于,包括:

灰度处理模块,用于获取原始图像并进行灰度处理以生成灰度图像;

生成模块,用于根据所述灰度图像生成法向图和切向图;

平滑处理模块,用于根据所述切向图对所述灰度图像进行滤波以生成平滑图像,并将所述平滑图像转换为二值图像;

分块处理模块,用于对所述二值图像进行分块,并根据所述法向图确定每个分块的中心点的法向方向;

亚像素计算模块,用于在所述每个分块内对所述分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,所述像素值为第一像素值的点为脊线所在的像素点,所述像素值为第二像素值的点为谷线所在的像素点;以及纹线距离生成模块,用于根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数和所述变化时对应边界点的坐标和亚像素值生成纹线距离。

9.如权利要求8所述的纹线距离的计算装置,其特征在于,所述亚像素计算模块,还用于:根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数获取所述边界点的个数,并当所述边界点的个数小于预设个数时,在所述分块内对所述分块的中心点的法向方向的反方向上的像素进行遍历。

10.如权利要求8所述的纹线距离的计算装置,其特征在于,所述亚像素计算模块生成所述边界点的亚像素值,具体为:沿着预设方向获取与所述变化时对应边界点相邻的两个像素点的像素值,并根据所述两个像素点的像素值生成所述边界点的亚像素值。

11.如权利要求10所述的纹线距离的计算装置,其特征在于,当所述分块的中心点的法向方向对应的法向角度等于0度时,所述预设方向为竖直方向,当所述分块的中心点的法向方向对应的法向角度等于90度时,所述预设方向为水平方向,如果与所述边界点相邻的两个像素点的像素值均与所述边界点的像素值相同,则所述边界点的亚像素值为0;

如果与所述边界点相邻的两个像素点的像素值中只有一个与所述边界点的像素值相同,则所述边界点的亚像素值为0.5;

如果与所述边界点相邻的两个像素点的像素值均不与所述边界点的像素值相同,则所述边界点的亚像素值为1。

12.如权利要求10所述的纹线距离的计算装置,其特征在于,当所述分块的中心点的法向方向对应的法向角度既不等于0度也不等于90度时,所述预设方向为倾斜方向,如果与所述边界点相邻的两个像素点的像素值均与所述边界点的像素值相同,则所述边界点的亚像素值为0;

如果与所述边界点相邻的两个像素点的像素值中只有一个与所述边界点的像素值相同,则所述边界点的亚像素值为0.25;

如果与所述边界点相邻的两个像素点的像素值均不与所述边界点的像素值相同,则所述边界点的亚像素值为0.5。

13.如权利要求8所述的纹线距离的计算装置,其特征在于,所述纹线距离生成模块通过以下公式生成所述纹线距离:其中,num1和num2为所述像素值为第一像素值和像素值为第二像素值之间的变化次数,num1为由像素值为第二像素值变化为像素值为第一像素值的次数,num2为由像素值为第一像素值变化为像素值为第二像素值的次数,X1和Xnum1分别为所述每个分块内沿所述法向方向第1次出现由像素值为第二像素值变化为像素值为第一像素值时和第num1次出现由像素值为第二像素值变化为像素值为第一像素值时对应的边界点的横坐标值,Y1和Ynum2分别为所述每个分块内沿所述法向方向第1次出现由像素值为第一像素值变化为像素值为第二像素值时和第num2次出现由像素值为第一像素值变化为像素值为第二像素值时对应的边界点的纵坐标值,θ为所述每个分块的中心点的法向角度,δi为所述边界点的亚像素值,D1(i,j)和D2(i,j)分别为由像素值为第二像素值变化为像素值为第一像素值和由像素值为第一像素值变化为像素值为第二像素值对应计算出的距离,D(i,j)为所述每个分块的中心点的纹线距离。

14.如权利要求8所述的纹线距离的计算装置,其特征在于,所述纹线距离生成模块,还用于:对所述纹线距离进行5*5局部区域均值滤波。

说明书 :

纹线距离的计算方法和装置

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种纹线距离的计算方法和装置。

背景技术

[0002] 随着社会的发展,人们对身份认证的准确性、安全性与实用性提出了更高的要求。传统的身份认证方式如密码,钥匙、身份证等,存在容易忘记,泄露,丢失,伪造等问题,给生活带来不便和安全问题。基于生物识别技术的身份认证,可以克服传统身份认证的许多缺点,目前已经成为安全技术研究的热点。在各种基于生物特征的身份认证方法中,指纹识别技术是应用最早,最广泛的一种。其具有高稳定性,独特性,易采集,安全性高等特点,因此,指纹是一种较理想的可用于身份认证的生物特征,指纹识别的市场份额也逐年攀升。由于指纹图像属于个人隐私,指纹识别系统一般并不直接存储指纹的图像,而是通过算法从指纹图像中提取指纹的特征信息,再进行指纹匹配识别,完成身份认证。因此,高可靠性的指纹识别算法是保证正确辨识指纹的关键。
[0003] 其中,纹线距离的定义为:给定脊线和相邻谷线的距离。一般情况下,通过计算脊线中心到谷线中心的长度作为纹线距离。纹线距离越大,表明该处纹线越稀疏;反之,纹线距离越小,表明该处纹线越密集。纹线距离的大小决定于指纹本身的结构和图像采集的分辨率。
[0004] 相关技术中关于指纹纹线距离的算法大致可以分为两类:第一类是基于整幅图像的指纹纹线距离估计,理想地认为一幅指纹图像纹线距离分布是正态的,但在实际指纹库中,同一枚指纹纹线距离会出现二倍的差异,故纹线距离不可以基于整幅图像计算;第二类是基于图像区域的局部纹线距离估计,需要准确地找到频谱的峰值点,这在算法上是很难做到的,求出的纹线距离会不准确。
[0005] 例如,在相关技术中的第二类算法中,在指纹图像垂直纹线方向上,像素灰度值呈现离散正弦波形的特征,如附图1所示,两条脊线之间的距离可以表示为正弦波形中波峰与波峰之间的距离。该算法具体为:(1)对每个中心点在(i,j)的块(图1中虚线矩形块),开一个新的窗口(如图1中实线矩形框所示),大小为w×l(例如,取16×32)。窗口长度方向与该块的脊线方向垂直。在新开的窗口中计算与块方向正交的轴上脊和谷的投影波形Z[0],Z[1],…,Z[l-1],其中,d是点(u,v)距离中
心点的距离,θ是根据方向场求取算法得到的块纹线方向。I(u,v)是归一化后(u,v)处的像素值;(2)从求得的Z[0],Z[1],…,Z[l-1]中寻找投影波形的波峰,并计算波峰之间的平均距离D,即为块的脊线平均距离。通常,这个距离的大小在[3,25]内,对超出此变化范围的块,将其脊距标为-1;(3)搜索所有的脊距为-1的块。取该块邻近8个块的脊距进行平均,将该值作为当前块的新值,并用7*7的高斯低通滤波器做最后的平滑。但是,传感器实际采集的指纹图像,会含有噪声,噪声信息主要来自传感器本身以及手指有水、油、脱皮等实际情况,导致正弦曲线极值情况比较复杂,如:不能有单一峰值,实际上不能准确找到这个极值点。测试情况为:同一枚指纹用相同力度按压,采集到的指纹图片,指纹同一位置用此方法求得的纹线距离有较大差异。对于指纹灰度图像本身来说,指纹上的脊线、谷线沿着其垂直于纹线方向的分布并不是理想的正弦波形,也没有尖峰的突出峰值,因此,基于灰度的纹线距离算法只能适应清晰均匀的指纹图像。

发明内容

[0006] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种纹线距离的计算方法,该方法通过寻找指纹脊线和谷线的边界点,并根据边界点的坐标和亚像素值计算纹线距离,提高了准确度,且抗噪声能力强,更准确的反映了指纹全局疏密特征,适用范围更广。
[0007] 本发明的第二个目的在于提出一种纹线距离的计算装置。
[0008] 为了实现上述目的,本发明第一方面实施例的纹线距离的计算方法,包括以下步骤:获取原始图像并进行灰度处理以生成灰度图像;根据所述灰度图像生成法向图和切向图;根据所述切向图对所述灰度图像进行滤波以生成平滑图像,并将所述平滑图像转换为二值图像;对所述二值图像进行分块,并根据所述法向图确定每个分块的中心点的法向方向;在所述每个分块内对所述分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,所述像素值为第一像素值的点为脊线所在的像素点,所述像素值为第二像素值的点为谷线所在的像素点;以及根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数和所述变化时对应边界点的坐标和亚像素值生成纹线距离。
[0009] 根据本发明实施例的纹线距离的计算方法,通过寻找指纹脊线和谷线的边界点,并根据边界点的坐标和亚像素值计算纹线距离,使得纹线距离更加准确,更接近指纹真实特征,从而更准确的反映了指纹全局疏密特征,且该方法的抗噪声能力强,适用范围更广。
[0010] 为了实现上述目的,本发明第二方面实施例的纹线距离的计算装置,包括:灰度处理模块,用于获取原始图像并进行灰度处理以生成灰度图像;生成模块,用于根据所述灰度图像生成法向图和切向图;平滑处理模块,用于根据所述切向图对所述灰度图像进行滤波以生成平滑图像,并将所述平滑图像转换为二值图像;分块处理模块,用于对所述二值图像进行分块,并根据所述法向图确定每个分块的中心点的法向方向;亚像素计算模块,用于在所述每个分块内对所述分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,所述像素值为第一像素值的点为脊线所在的像素点,所述像素值为第二像素值的点为谷线所在的像素点;以及纹线距离生成模块,用于根据所述像素值为第一像素值和像素值为第二像素值之间的变化次数和所述变化时对应边界点的坐标和亚像素值生成纹线距离。
[0011] 根据本发明实施例的纹线距离的计算装置,通过寻找指纹脊线和谷线的边界点,并根据边界点的坐标和亚像素值计算纹线距离,使得纹线距离更加准确,更接近指纹真实特征,从而更准确的反映了指纹全局疏密特征,而且抗噪声能力强,适用范围更广。

附图说明

[0012] 图1是相关技术中纹线局部区域正弦分布特性的示意图;
[0013] 图2是根据本发明一个实施例的纹线距离的计算方法的流程图;
[0014] 图3是根据本发明一个实施例的像素值由0变为1的边界点位置以及变化次数的示意图;
[0015] 图4是根据本发明一个实施例的计算边界点的亚像素值的流程图;
[0016] 图5A~图5C是根据本发明一个实施例的沿着水平方向计算亚像素值的示意图;
[0017] 图6A~图6C是根据本发明一个实施例的沿着非竖直或者水平方向计算亚像素值的示意图;
[0018] 图7A是根据本发明一个实施例的灰度图像的示意图;
[0019] 图7B是根据本发明一个实施例的切向图的示意图;
[0020] 图7C是根据本发明一个实施例的平滑图像的示意图;
[0021] 图7D是根据本发明一个实施例的二值图像的示意图;
[0022] 图7E是根据本发明一个实施例的对最终每点纹线距离的数据进行Gabor滤波后的结果示意图。

具体实施方式

[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0024] 为了解决相关技术中纹线距离算法存在的求得的纹线距离不准确、算法适用范围较窄等问题,本发明提出了一种纹线距离的计算方法和装置。下面参考附图描述本发明实施例的纹线距离的计算方法和装置。
[0025] 图2是根据本发明一个实施例的纹线距离的计算方法的流程图。如图2所示,本发明实施例的纹线距离的计算方法,包括以下步骤:
[0026] S1,获取原始图像并进行灰度处理以生成灰度图像。
[0027] 具体地,对原始图像并进行灰度处理,生成灰度图像A(i,j)。
[0028] S2,根据灰度图像生成法向图和切向图。
[0029] 具体地,对灰度图像A(i,j)由梯度法可求出法向图O1(i,j)和切向图O2(i,j)。
[0030] S3,根据切向图对灰度图像进行滤波以生成平滑图像,并将平滑图像转换为二值图像。
[0031] 在本发明的一个实施例中,根据切向图对灰度图像进行滤波以生成平滑图像具体包括:根据切向图灰度图像进行1*7均值滤波以生成平滑图像。
[0032] 具体地,利用切向图O2(i,j)对灰度图像A(i,j)进行1*7均值滤波去毛刺,得到平滑图像B(i,j),然后对平滑图像B(i,j),利用差分二值化将平滑图像B(i,j)转变成二值图像D(i,j)。
[0033] S4,对二值图像进行分块,并根据法向图确定每个分块的中心点的法向方向。
[0034] 具体地,把二值图像D(i,j)分成N*N(例如,N取33)大小的块,其中,块是逐点滑动的,所以,块跟块之间是有重叠的。
[0035] 进一步地,在法向图O1(i,j)中读取每个分块的中心点的法向方向。
[0036] S5,在每个分块内对分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,所述像素值为第一像素值的点为脊线所在的像素点,所述像素值为第二像素值的点为谷线所在的像素点。
[0037] 在本发明的一个实施例中,第一像素值为0,第二像素值为1。下文均以此为例进行说明。
[0038] 具体地,对于二值图像D(i,j)的每个分块,在分块内,对分块中心点的法向方向上的像素进行遍历,计算像素值由0变为1和由1变为0的变化次数以及变化时的像素坐标(即边界点的坐标),如图3所示,条纹区域表示脊线,像素值为0,空白区域是谷线,像素值是1,箭头所指位置是由0变为1的位置,也就是边界点的位置,示意图3中由0到1变化的次数为3次。其中,当像素值由0变为1时,我们可以将边界点的坐标统一记为像素值为0的像素的坐标,也可以统一记为像素值为1的像素的坐标。
[0039] 在本发明的一个实施例中,如图4所示,通过以下步骤生成边界点的亚像素值:
[0040] S51,沿着预设方向获取与变化时对应边界点相邻的两个像素点的像素值。
[0041] S52,根据两个像素点的像素值生成边界点的亚像素值。
[0042] 具体地,在遍历的同时计算亚像素边界,分两种情况计算,一种是沿着倾斜方向计算边界点的亚像素,另一种是沿着竖直或者水平方向计算。下面分别就这两种情况进行说明。
[0043] 在本发明的一个实施例中,当分块的中心点的法向方向对应的法向角度等于0度时,预设方向为竖直方向,当所述分块的中心点的法向方向对应的法向角度等于90度时,所述预设方向为水平方向,如果与边界点相邻的两个像素点的像素值均与边界点的像素值相同,则边界点的亚像素值为0;如果与边界点相邻的两个像素点的像素值中只有一个与边界点的像素值相同,则边界点的亚像素值为0.5;如果与边界点相邻的两个像素点的像素值均不与边界点的像素值相同,则边界点的亚像素值为1。
[0044] 具体地,如图5A至图5C所示为沿着水平方向(如图5A中的y轴方向)计算亚像素取值的示意图,其中,在本发明中,以指纹图像(如图7A灰度图)的左上角为原点,指纹图像的竖直边界和水平边界分别为x轴和y轴建立坐标系,则所述分块的中心点的法向方向对应的法向角度为分块的中心点的法向方向与x轴的夹角,图中竖条纹填充块代表边界点,白色填充块代表谷线上的点、黑色填充块代表脊线上的点。在计算边界点的亚像素值时,利用边界点两侧的两个像素点的像素值进行判断,若都与边界点的像素值相同,则δ值(边界点的亚像素)为0;若有一个与边界点的像素值相同,δ取值为1/2;若都不与边界点的像素值相同时,δ取值为1。例如,图5A中与边界点相邻的两个像素点均为白色填充块,图5B中与边界点相邻的两个像素点分别为黑色和白色填充块,图5C中与边界点相邻的两个像素点均为黑色填充块。
[0045] 在本发明的另一个实施例中,当分块的中心点的法向方向对应的法向角度既不等于0度也不等于90度时,预设方向为倾斜方向,如果与边界点相邻的两个像素点的像素值均与边界点的像素值相同,则边界点的亚像素值为0;如果与边界点相邻的两个像素点的像素值中只有一个与边界点的像素值相同,则边界点的亚像素值为0.25;如果与边界点相邻的两个像素点的像素值均不与边界点的像素值相同,则边界点的亚像素值为0.5。
[0046] 具体地,如图6A至图6C所示为沿着倾斜方向计算亚像素取值的示意图,其中,图中竖条纹填充块代表边界点,白色填充块代表谷线上的点、黑色填充块代表脊线上的点。在计算边界点的亚像素值时,利用其他两个相邻像素点的像素值进行判断,若两个点的像素值都与边界点的像素值相同,则δ值为0;有一个像素点的像素值与边界点的像素值相同,δ值为1/4;若相邻两个像素点的像素值都不与边界点的像素值相同,δ值为1/2。例如,图6A中与边界点相邻的两个像素点均为白色填充块,图6B中与边界点相邻的两个像素点分别为黑色和白色填充块,图6C中与边界点相邻的两个像素点均为黑色填充块。
[0047] S6,根据像素值为第一像素值和像素值为第二像素值之间的变化次数和变化时对应边界点的坐标和亚像素值生成纹线距离。
[0048] 在本发明的一个实施例中,通过以下公式生成纹线距离:
[0049]
[0050]
[0051]
[0052] 其中,num1和num2为像素值为第一像素值和像素值为第二像素值之间的变化次数,num1为由像素值为1变化为像素值为第一像素值的次数,num2为由像素值为第一像素值变化为像素值为第二像素值的次数,X1和Xnum1分别为每个分块内沿法向方向第1次出现由像素值为第二像素值变化为像素值为第一像素值时和第num1次出现由像素值为第二像素值变化为像素值为第一像素值时对应的边界点的横坐标值,Y1和Ynum2分别为每个分块内沿法向方向第1次出现由像素值为第一像素值变化为像素值为第二像素值时和第num2次出现由像素值为第一像素值变化为像素值为第二像素值时对应的边界点的纵坐标值,θ为每个分块的中心点的法向角度,取值范围是0到π,δi为边界点的亚像素值,D1(i,j)和D2(i,j)分别为由像素值为第二像素值变化为像素值为第一像素值和由像素值为第一像素值变化为像素值为第二像素值对应计算出的距离,D(i,j)为每个分块的中心点的纹线距离。
[0053] 在本发明的一个实施例中,还包括:根据像素值为第一像素值和像素值为第二像素值之间的变化次数获取边界点的个数;当边界点的个数小于预设个数时,则进一步在分块内对分块的中心点的法向方向的反方向上的像素进行遍历。
[0054] 具体地,此处需要说明的是,上述D1(i,j)和D2(i,j)需要满足的条件为:①D1、D2在每个分块中必须同时具有大于等于2个的由像素值0变为像素值1或由像素值1变为像素值0值转换的边界点,即:一个纹线距离的运算需要两条脊线和一条谷线来完成,或者由两个谷线和一条脊线来完成。如果不够,则D1或D2不存在;②如果D1或D2有一个不存在,则另一个D1或D2需要在相反的方向上寻找至少2个转换的边界点。
[0055] 本发明实施例的纹线距离的计算方法,通过寻找指纹脊线和谷线的边界点,并根据边界点的坐标和亚像素值计算纹线距离,使得纹线距离更加准确,更接近指纹真实特征,从而更准确的反映了指纹全局疏密特征,而且该方法的抗噪声能力强,适用范围更广。
[0056] 在本发明的一个实施例中,在S6之后,还包括:对纹线距离进行5*5局部区域均值滤波。
[0057] 具体地,对计算出的纹线距离进行5*5局部区域均值滤波,以起到平滑的作用,得到最终每点纹线距离。
[0058] 另外,为了使本发明实施例的纹线距离的计算方法的每个步骤的计算结果更加直观,给出该方法每步的效果图,如图7A所示为灰度图像的示意图,图7B所示为切向图的示意图,图7C所示为平滑图像的示意图,图7D所示为二值图像的示意图,图7E所示为对最终每点纹线距离的数据进行Gabor滤波后的结果示意图。
[0059] 本发明实施例的纹线距离的计算方法,避免了相关技术中求取指纹正弦曲线极值比较复杂的情况,如:理论上有一个极大值点的地方,出现了大于2个的不确定数量的极大值点,不能准确求出指纹纹线距离;本发明实施例的方法是找指纹脊线和谷线的边界点,确定只有一个点,不会出现不确定数量的边界点,故对含有噪声图片冗余度高,条件要求不苛刻,扩大了适用范围。该方法具有很高的工程应用价值,可以为后期的图像滤波、分割、脊线跟踪和匹配提供可靠参数。
[0060] 与上述几种实施例提供的纹线距离的计算方法相对应,本发明的一种实施例还提供一种纹线距离的计算装置,由于本发明实施例提供的纹线距离的计算装置与上述几种实施例提供的纹线距离的计算方法相对应,因此在前述纹线距离的计算方法实施方式也适用于本实施例提供的纹线距离的计算方法装置,在本实施例中不再详细描述。图8是根据本发明一个实施例的纹线距离的计算装置的结构示意图。如图8所示,本发明实施例的纹线距离的计算装置,包括:灰度处理模块100、生成模块200、平滑处理模块300、分块处理模块400、亚像素计算模块500和纹线距离生成模块600。
[0061] 其中,灰度处理模块100用于获取原始图像并进行灰度处理以生成灰度图像。
[0062] 生成模块200用于根据灰度图像生成法向图和切向图。
[0063] 平滑处理模块300用于根据切向图对灰度图像进行滤波以生成平滑图像,并将平滑图像转换为二值图像。
[0064] 在本发明的一个实施例中,平滑处理模块300具体用于:根据切向图对灰度图像进行1*7均值滤波以生成平滑图像,并将平滑图像转换为二值图像。
[0065] 分块处理模块400用于对二值图像进行分块,并根据法向图确定每个分块的中心点的法向方向。
[0066] 亚像素计算模块500用于在每个分块内对分块的中心点的法向方向上的像素进行遍历,以生成像素值为第一像素值和像素值为第二像素值之间的变化次数、变化时对应边界点的坐标和亚像素值,其中,像素值为第一像素值的点为脊线所在的像素点,像素值为第二像素值的点为谷线所在的像素点。
[0067] 在本发明的一个实施例中,第一像素值为0,第二像素值为1。
[0068] 在本发明的一个实施例中,则亚像素计算模块500还用于:根据像素值为第一像素值和像素值为第二像素值之间的变化次数获取边界点的个数,并当边界点的个数小于预设个数时,在分块内对分块的中心点的法向方向的反方向上的像素进行遍历。
[0069] 在本发明的一个实施例中,亚像素计算模块500生成边界点的亚像素值,具体为:沿着预设方向获取与变化时对应边界点相邻的两个像素点的像素值,并根据两个像素点的像素值计算边界点的亚像素值。
[0070] 在本发明的一个实施例中,当分块的中心点的法向方向对应的法向角度等于0度时,预设方向为竖直方向,当所述分块的中心点的法向方向对应的法向角度等于90度时,所述预设方向为水平方向,如果与边界点相邻的两个像素点的像素值均与边界点的像素值相同,则边界点的亚像素值为0;如果与边界点相邻的两个像素点的像素值中只有一个与边界点的像素值相同,则边界点的亚像素值为0.5;如果与边界点相邻的两个像素点的像素值均不与边界点的像素值相同,则边界点的亚像素值为1。
[0071] 在本发明的另一个实施例中,当分块的中心点的法向方向对应的法向角度既不等于0度也不等于90度时,预设方向为倾斜方向,如果与边界点相邻的两个像素点的像素值均与边界点的像素值相同,则边界点的亚像素值为0;如果与边界点相邻的两个像素点的像素值中只有一个与边界点的像素值相同,则边界点的亚像素值为0.25;如果与边界点相邻的两个像素点的像素值均不与边界点的像素值相同,则边界点的亚像素值为0.5。
[0072] 纹线距离生成模块600用于根据像素值为第一像素值和像素值为第二像素值之间的变化次数和变化时对应边界点的坐标和亚像素值生成纹线距离。
[0073] 在本发明的一个实施例中,纹线距离生成模块600通过公式(1)、(2)和(3)生成纹线距离。
[0074] 在本发明的一个实施例中,纹线距离生成模块600还用于:对纹线距离进行5*5局部区域均值滤波。
[0075] 本发明实施例的纹线距离的计算装置,通过寻找指纹脊线和谷线的边界点,并根据边界点的坐标和亚像素值计算纹线距离,使得纹线距离更加准确,更接近指纹真实特征,从而更准确的反映了指纹全局疏密特征,而且抗噪声能力强,适用范围更广。
[0076] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0077] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0078] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0079] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0080] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0081] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0082] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0083] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。