基于方向场的指纹图像边缘修补方法与流程

文档序号:26008041发布日期:2021-07-23 21:27阅读:93来源:国知局
基于方向场的指纹图像边缘修补方法与流程

本发明涉及指纹图像处理领域,尤其涉及一种基于方向场的指纹图像边缘修补方法、指纹图像边缘修补模组、指纹识别设备、计算机可读存储介质以及电子设备。



背景技术:

目前许多智能移动终端都搭载了指纹识别系统,随着设备的普及,用户的体验要求也越来越高。智能移动终端上搭载的指纹识别系统工作流程一般分为六个步骤,即手指检测、采集图像、图像预处理、提取特征、特征比对和识别、执行结果。例如,成功——解锁,失败——不解锁,用户体验主要通过解锁率、解锁速度和稳定性这三个指标来衡量。采集的指纹图像只有经过预处理后才能提取特征和进行对比识别等操作,图像预处理是指纹图像处理的第一步,该步骤对用户体验的三个指标都有巨大的影响。

具体地,指纹图像信号来源于指纹传感器,当手指触摸到指纹传感器时,指纹传感器采集指纹图像,然后将图像信号传输到图像预处理模块。指纹传感器具有一定的大小,由于应用场景等各种条件限制,许多智能移动终端的指纹传感器面积小于单个手指的大小,每次只能采集单个手指的部分指纹图像,最终显示出来的图像并不是完整的一个指纹图像,而是单个手指指纹的一部分。通常,传感器采集时,指纹图像最外圈的一行一列,即图像的第一行、第一列、最后一行和最后一列,也有可能是最外圈的两行两列,也有可能只是顶部的一行等情况,这一部分的图像由于传感器本身的电场特性,与其它区域,例如,中心区域相比较,图像亮度存在明显的非均匀性,该区域的非均匀性对后续的特征提取、识别等步骤造成不良影响。目前存在的技术包括忽视该非均匀性的影响不进行任何处理,或者使用紧邻的一行一列像素直接替代的方法,这些方法的优点是实现简单,缺点是信息还原度非常低,不能真实的反应这些区域手指纹路的实际走势和变化。

因此,如何准确修补指纹图像边缘像素是亟需解决的问题。



技术实现要素:

本发明提供一种基于方向场的指纹图像边缘修补方法、指纹图像边缘修补模组、指纹识别设备、计算机可读存储介质以及电子设备,可以准确修补指纹图像边缘像素的像素值。

第一方面,本发明实施例提供一种基于方向场的指纹图像边缘修补方法,该包括:

根据预设的算法得到指纹图像中所有像素的梯度;

根据所有像素的梯度得到指纹图像的指纹方向;

根据指纹图像的指纹方向得到方向夹角,方向夹角由指纹图像的指纹方向和待修补像素所在的指纹图像边缘构成;

根据方向夹角得到修补区域,修补区域包括多个像素;

根据修补区域中所有像素的像素值得到待修补像素的像素值。

第二方面,本发明实施例提供一种指纹图像边缘修补模组,该指纹图像边缘修补模组包括:

存储器,用于存储基于方向场的指纹图像边缘修补方法的程序指令;

处理器,用于执行程序指令以使指纹图像边缘修补模组实现上述的基于方向场的指纹图像边缘修补方法。

第三方面,本发明实施例提供一种指纹识别设备,该指纹识别设备包括上述的指纹图像边缘修补模组。

第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有能够被处理器加载并执行的上述的基于方向场的指纹图像边缘修补方法的程序指令。

第五方面,本发明实施例提供一种电子设备,该电子设备包括:

存储器,用于存储基于方向场的指纹图像边缘修补方法的程序指令;

处理器,用于执行程序指令以使电子设备实现上述的基于方向场的指纹图像边缘修补方法。

上述基于方向场的指纹图像边缘修补方法通过找到与待修补像素相关联的像素区域,对待修补像素进行修补,避免了在修补过程中将不同的脊线连接到一起;或者在修补待修补像素时填入的是均匀的灰度值,无法区分脊线和谷线;或者无法有目的地连接脊线等等错误修补的情况。基于方向场的指纹图像边缘修补方法能够恢复指纹图像四周亮度不均匀区域的真实图像信息,显著提高指纹图像质量,利于后续的特征提取和识别等步骤的处理,提高系统的指纹识别率、识别速度以及稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例提供的基于方向场的指纹图像边缘修补方法的流程图。

图2为本发明实施例提供的基于方向场的指纹图像边缘修补方法的第一子流程图。

图3为本发明实施例提供的基于方向场的指纹图像边缘修补方法的第二子流程图。

图4为本发明实施例提供的基于方向场的指纹图像边缘修补方法的第三子流程图。

图5为本发明实施例提供的预处理后的指纹图像的示意图。

图6为本发明实施例提供的每一个像素的梯度的示意图。

图7为本发明实施例提供的待修补像素与修补区域的示意图。

图8为本发明实施例提供的待修补像素、修补区域和方向夹角的示意图。

图9为本发明实施例提供的电子设备内部结构示意图。

图10为本发明实施例提供指纹图像的子图像示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

指纹图像的纹理主要分为脊线和谷线,脊线是手指指纹中突出的纹理,能够接触指纹传感器表面的部分,谷线是指纹中凹陷的纹理,不能够接触指纹传感器表面的部分。在本实施例中为了方便说明,选择了一张经过预处理之后的指纹图像,如图5所示,图像中白色的纹理是脊线,黑色的纹理是谷线。在一些可行的实施例中,有些指纹图像做了反转,黑色的是脊线,白色的是谷线。图6是图5的脊线走向的示意图,指纹图像中脊线具有明显的方向性,如果指纹图像没有出现断点、分岔等情况,指纹方向基本是连续的,即在指纹图像方向场中像素值基本一致。

在本实施例中,方向场用于引入指纹图像中脊线的几何信息,在引入方向场后能够准确描述脊线的走向以及扩大脊线和谷线之间的差别,避免了在修补过程中将不同的脊线连接到一起;或者在修补待修补像素时填入的是均匀的灰度值,无法区分脊线和谷线;或者无法有目的地连接脊线等等错误修补的情况。基于指纹图像的方向场上像素的特点,利用方向场对指纹图像中亮度不均匀区域的边缘区域的像素进行修补,使修补扩散仅沿脊线方向进行,修补后的指纹图像在指纹方向相邻的像素之间的值更加接近,从而的使得修补后的指纹图像更加接近于真实的指纹图像,达到理想的修补效果,从而有利于后续的特征提取和识别等步骤的处理,提高系统的指纹识别率、识别速度以及稳定性。如何实现修补指纹图像将在下文详细描述。

请结合参看图1,其为本发明实施例提供的基于方向场的指纹图像边缘修补方法的流程图。其中,实施例提供的基于方向场的指纹图像边缘修补方法具体包括下面步骤。

步骤s101,根据预设的算法得到指纹图像中所有像素的梯度。例如,使用sobel算子计算指纹图像中所有像素的梯度。预设的算法还包括利用roberts算子、prewitt算子、lapacian算子等计算指纹图像中所有像素的梯度。实际使用根据实际情况确定,这里的示例仅做示例不做限定。

步骤s102,根据所有像素的梯度得到指纹图像的指纹方向。具体地,以指纹图像中的某一像素作为原点建立坐标系,然后分别计算指纹图像中每个像素在x方向和y方向上的梯度dx和dy,同时将指纹图像分割成多个不重叠的nxn大小的子块,n为正整数,统计每个子块内的dx和dy,然后使用svd、pca等方法计算指纹的方向。其中,奇异值分解算法(singularvaluedecomposition,svd)是在机器学习领域广泛应用的算法,在本实施例中用于指纹方向的计算。降维算法(principalcomponentanalysis,pca)是一种常见的数据分析方式,常用于高维数据的降维,在本实施例中用于指纹方向的计算。具体请参见步骤s1021-步骤s1023。

步骤s103,根据指纹图像的指纹方向得到方向夹角,方向夹角由指纹图像的指纹方向和待修补像素所在的指纹图像边缘构成。进一步地,方向夹角的范围为0°至180°。在本实施例中设定方向夹角为θ,即0°≤θ≤180°。

在一些可行的实施例中,基于方向场的指纹图像边缘修补方法在0°至45°和135°至180°两组角度计算方式相同,例如(cos30°)2=(cos150°)2,在一些具体的实施例中,根据实际情况对角度进行转换来简化运算。

在一些可行的实施例中,基于方向场的指纹图像边缘修补方法在45°至90°和90°至135°两组角度计算方式相同,例如(cos60°)2=(cos120°)2,在一些具体的实施例中,根据实际情况对角度进行转换来简化运算。

步骤s104,根据方向夹角得到修补区域,修补区域包括多个像素。进一步地,修补区域为矩形区域,修补区域至少包括两个像素。修补区域对应0°至180°的角度范围。将可用于修补的全部区域分割为四个区域。当0°≤θ<45°时,对应第一区域,当45°≤θ<90°时,对应第二区域,当90°≤θ<135°时,对应第三区域,当135°≤θ≤180°时,对应第四区域。

本实施例中,所有方向夹角都是按照上述方式计算。请结合参看图7,深灰色代表脊线,黑色代表谷线,最下面的一行浅灰色代表亮度不均匀的最后一行,该行的像素值需要使用倒数第二行和倒数第三行相关的像素进行计算。请结合参看图8,灰色箭头代表该区域指纹纹理的走向,与指纹图像边缘的角度为θ,当θ=30°时,该指纹区域的方向角度范围属于0°到45°。

指纹传感器实际采集的指纹图像中,脊线和谷线并不是有一个明显的界限,而是逐渐变化的,如图5所示,即使是预处理之后的指纹图像,脊线和谷线也有几个像素宽度的过渡带,脊线和谷线没有过渡带并不影响对本实施例的具体说明。

步骤s105,根据修补区域中所有像素的像素值得到待修补像素的像素值。具体请参看步骤s1051-步骤s1053。

上述基于方向场的指纹图像边缘修补方法通过找到与待修补像素相关联的像素区域,对待修补像素进行修补,从而恢复指纹图像四周亮度不均匀区域的真实图像信息,显著提高指纹图像质量,利于后续的特征提取和识别等步骤的处理,提高系统的指纹识别率、识别速度以及稳定性。

请结合参看图2,其为本发明实施例提供的步骤s102的子步骤流程图。步骤s102根据所有像素的梯度得到指纹图像的指纹方向,具体包括下面步骤。

s1021,将指纹图像切割为多个子图像。具体地,按照预设的尺度将图像切割为多个子图像,请结合参看图10,指纹图像划分为多个子图像101。

s1022,统计每一个子图像中所有像素的梯度得到多个子图像梯度分布数据。

s1023,根据预设的指纹方向算法和多个子图像梯度分布数据得到指纹图像的指纹方向。进一步地,预设的指纹方向算法包括svd、pca。

请结合参看,其为本发明实施例提供的步骤s105的子步骤流程图。步骤s105根据修补区域中所有像素的像素值得到待修补像素的像素值,具体包括下面步骤。

步骤s1051,将修补区域中所有像素根据预设的分组条件分为多组。进一步地,预设的分组条件为每一组像素包括相邻的两个像素。请结合参看图7,图中1、2、3、4为修补区域的修补像素,在本实施例中设定1、3为c组,2、4为b组。r为待修补像素。

请再次结合参看7,以这个待修补像素r为例说明如何重新计算待修补像素r的像素值vr。图7中r选择了相应的对应位置,1、2、3、4也相应的选择了对应的位置。浅灰色区域由于都是待修补像素,所以在计算r的像素值时浅灰色区域的像素不参与计算。

步骤s1052,根据方向夹角计算每一组像素的第一像素值,得到多个第一像素值。具体请参看步骤s10521-步骤s10522。

步骤s1053,根据多个第一像素值和多个第一系数得到待修补像素的像素值,其中,多个第一像素值和多个第一系数一一对应,每一个第一系数根据待修补像素与每一组像素之间的距离得到的。具体地,当θ等于0度时,cosθ等于1,sinθ等于0,此时r的像素值由b4和b3决定,b4是修补像素4的像素值,b3是修补像素3的像素值,b4和b3为正整数。当θ等于其它值时,cosθ和sinθ不等于1或者0时,r的像素值由其左上角四个修补像素的像素值共同决定。

在本实施例中,vr的计算公式为,vr=pb*vb+pc*vc,其中,vr是r的像素值,vb是b组的第一像素值,vc是c组的第一像素值,pb是vb的权重,也可以称之为系数,pc是vc的权重,也可以称之为系数,并且,pb和pc为正数,pb和pc的和为1。具体的,pb和pc可以根据b组、c组与r的距离来设置,b组是紧邻r的位置,c组与r最远,距离接近b组与r距离的两倍,可以设置pb等于2/3,pc等于1/3。vr=2/3*vb+1/3*vc,pb和pc可以根据实际情况进行调节,可以根据需要设置不同的值。如果只想用紧邻r的修补像素进行计算,直接将pc设置为0,pb设置为1即可。

请结合参看图4,其为本发明实施例提供的步骤s1052的子步骤流程图。步骤s1052根据方向夹角计算每一组像素的第一像素值,得到多个第一像素值,具体包括下面步骤。

s10521,根据方向夹角得到每一组像素中每一个像素值的对应系数。对应系数与方向夹角的正弦值或者是余弦值对应。进一步的,对应的系数是方向夹角正弦值的平方或者是方向夹角余弦值的平方,例如,(cos30°)2或(sin30°)2等等。在本实施例中,以指纹图像边缘为x轴,与指纹图像相反的方向为y轴。请结合参看图8,说明指纹脊线的方向更加靠近x轴,θ角度范围是属于0°到45°时,说明指纹脊线的方向更加靠近指纹图像边缘,因此x方向的权重增加,选择r所在像素位置左上方的两个左右相邻像素为修补区域,用于计算待修补像素的像素值。

请结合参看图7,对修补区域四个像素进行编号,和待修补像素r的相对位置如下所示,其中r是待修补像素,1、2、3、4表示四个用于修补的修补像素,x表示无关像素,

12x

34x

xxr

待修补像素和修补区域之间的位置关系请结合图7、图8和上面的示例。

s10522,根据每一个像素的像素值和对应的系数得到第一像素值。具体地,对于紧邻待修补像素r的一列,假设两个修补像素的像素值从上到下依次是b2和b4,b4是修补像素4的像素值,b2是修补像素2的像素值,b4和b2为正整数。则使用如下公式计算b组的像素值vb,vb=b4*(cosθ)2+b2*(sinθ)2,vb是r的一个第一像素值。对于另外一列,两个修补像素的像素值从上到下依次是b1和b3,b1是修补像素1的像素值,b3是修补像素3的像素值,b1和b3为正整数。则使用如下公式计算c组的像素值vc,vc=b3*(cosθ)2+b1*(sinθ)2,vc是r的一个第一像素值。

本申请还提供一种指纹图像边缘修补模组,指纹图像边缘修补模组包括:存储器,用于存储基于方向场的指纹图像边缘修补方法的程序指令。处理器,用于执行程序指令以使指纹图像边缘修补模组实现上述的基于方向场的指纹图像边缘修补方法。例如,指纹图像边缘修补模组可以是硬件电路的一部分,其中所述硬件电路包括定制的超大规模集成(vlsi)电路或门电路阵列、现成的半导体,诸如逻辑芯片、晶体管、或其他分立元件。

本申请还提供一种指纹识别设备,指纹识别设备设有上述的指纹图像边缘修补模组。

本发明还提供了一种计算机可读存储介质。计算机可读存储介质上存储有能够被处理器加载并执行的上述的基于方向场的指纹图像边缘修补方法的程序指令。例如,该程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。由于计算机可读存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再赘述。

本发明还提供一种电子设备900,电子设备900至少包括,存储器901和处理器902。存储器901用于存储基于方向场的指纹图像边缘修补方法的程序指令。处理器902,用于执行程序指令以使计算机设备实现上述的基于方向场的指纹图像边缘修补方法。请结合参看图9,其为本发明实施例提供的电子设备900的内部结构示意图。

其中,存储器901至少包括一种类型的可读计算机可读存储介质,该可读计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器901在一些实施例中可以是电子设备900的内部存储单元,例如电子设备900的硬盘。存储器901在另一些实施例中也可以是电子设备900的外部存储设备,例如电子设备900上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字卡(securedigital,sd),闪存卡(flashcard)等。进一步地,存储器901还可以既包括电子设备900的内部存储单元也包括外部存储设备。存储器901不仅可以用于存储安装于电子设备900的应用软件及各类数据,例如基于方向场的指纹图像边缘修补方法的程序指令等,还可以用于暂时地存储已经输出或者将要输出的数据,例如基于方向场的指纹图像边缘修补方法执行产生的数据等。

处理器902在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器901中存储的程序指令或处理数据。具体地,处理器902执行基于方向场的指纹图像边缘修补方法的程序指令以控制电子设备900实现基于方向场的指纹图像边缘修补方法。

进一步地,电子设备900还可以包括总线903可以是外设部件互连标准总线(peripheralcomponentinterconnect,简称pci)或扩展工业标准结构总线(extendedindustrystandardarchitecture,简称eisa)等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,电子设备900还可以包括显示组件904。显示组件904可以是led(lightemittingdiode,发光二极管)显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示组件904也可以适当的称为显示装置或显示单元,用于显示在电子设备900中处理的信息以及用于显示可视化的用户界面。

进一步地,电子设备900还可以包括通信组件905,通信组件905可选的可以包括有线通信组件和/或无线通信组件(如wi-fi通信组件、蓝牙通信组件等),通常用于在电子设备900与其他计算机设备之间建立通信连接。

图9仅示出了具有组件901-905以及实现基于方向场的指纹图像边缘修补方法的程序指令的电子设备900,本领域技术人员可以理解的是,图9示出的结构并不构成对电子设备900的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。由于电子设备900采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的基于方向场的指纹图像边缘修补方法实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、流动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序指令的介质。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

以上所列举的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

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