一种指纹识别的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种指纹识别的方法及装置。
背景技术
目前,指纹识别在人们的生活中的应用范围越来越广,如手机开机、考勤设备、支付APP的身份确认等对指纹识别的应用。在实际应用中,用户可通过设置指纹作为重要应用的密码,需要通过指纹的识别才能进入获取相关信息或者进行相关操作。
目前对指纹图像模糊程度的识别方法主要是通过对整张指纹图像的模糊程度进行分析,从而得到该指纹图像的模糊程度,当该指纹图像的部分区域的模糊程度明显高于该指纹图像的其他区域的模糊程度时,使用传统的指纹图像模糊程度的识别方法得到的该指纹图像的模糊程度的精准度较低,无法有效识别该指纹图像的模糊程度。
发明内容
本发明实施例提供了一种指纹识别的方法及装置,能够确定指纹图像的模糊等级,提高了对指纹图像模糊程度的识别效果。
第一方面,本发明实施例提供了一种指纹识别的方法,包括:
对指纹图像进行切割处理,获得多个局部指纹图像以及所述多个局部指纹图像的数量总和;
对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围;
当所述局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定所述局部指纹图像的模糊等级为第一模糊等级;
基于模糊等级为第一模糊等级的局部指纹图像的数量与所述局部指纹图像的数量总和之间的比值,识别所述指纹图像的模糊等级。
可选的,所述对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围,包括:
***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量;
基于各个灰度值所对应的像素点数量,确定目标灰度值,所述目标灰度值包括至少两个灰度值;
当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定所述局部指纹图像的动态范围,所述动态范围中最小灰度值与所述目标灰度值中的最小灰度值相同,所述动态范围中最大灰度值与所述目标灰度值中的最大灰度值相同。
可选的,所述基于各个灰度值所对应的像素点数量,确定目标灰度值,包括:
在所述灰度直方图中将像素点数量最大的灰度值作为目标灰度值;
获取所述目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值的下一个灰度值的像素点数量;
将所述目标灰度值的上一个灰度值与所述目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
第二方面,本发明实施例还提供了一种指纹识别的方法,包括:
获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级;
当所述第一指纹图像的模糊等级与所述第二指纹图像的模糊等级相同时,在所述第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在所述第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个所述目标动态范围所包含的灰度值数量小于第二预设数量阈值;
获取所述第一目标动态范围所包含的平均灰度值数量,以及所述第二目标动态范围所包含的平均灰度值数量;
当第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级。
可选的,所述获取第一指纹图像的模糊等级,包括:
对所述第一指纹图像进行切割处理,获得多个局部指纹图像以及所述多个局部指纹图像的数量总和;
对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围;
当所述局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定所述局部指纹图像的模糊等级为第一模糊等级;
基于模糊等级为第一模糊等级的局部指纹图像的数量与所述局部指纹图像的数量总和之间的比值,识别所述第一指纹图像的模糊等级。
可选的,所述对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围,包括:
***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量;
基于各个灰度值所对应的像素点数量,确定目标灰度值,所述目标灰度值包括至少两个灰度值;
当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定所述局部指纹图像的动态范围,所述动态范围中最小灰度值与所述目标灰度值中的最小灰度值相同,所述动态范围中最大灰度值与所述目标灰度值中的最大灰度值相同。
可选的,所述基于各个灰度值所对应的像素点数量,确定目标灰度值,包括:
在所述灰度直方图中将像素点数量最大的灰度值作为目标灰度值;
获取所述目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值的下一个灰度值的像素点数量;
将所述目标灰度值的上一个灰度值与所述目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,所述基于各个灰度值所对应的像素点数量,确定目标灰度值之后,还包括:
当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取所述目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值中最大目标灰度值的下一个灰度值的像素点数量;
将所述最小目标灰度值的上一个灰度值与所述最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
第三方面,本发明实施例提供了一种指纹识别的装置,包括:
图像切割模块,用于对指纹图像进行切割处理,获得多个局部指纹图像以及所述多个局部指纹图像的数量总和;
分析模块,用于对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围;
第一确定模块,用于当所述局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定所述局部指纹图像的模糊等级为第一模糊等级;
识别模块,用于基于模糊等级为第一模糊等级的局部指纹图像的数量与所述局部指纹图像的数量总和之间的比值,识别所述指纹图像的模糊等级。
可选的,所述分析模块包括:
统计单元,用于***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量;
第一确定单元,用于基于各个灰度值所对应的像素点数量,确定目标灰度值,所述目标灰度值包括至少两个灰度值;
第二确定单元,用于当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定所述局部指纹图像的动态范围,所述动态范围中最小灰度值与所述目标灰度值中的最小灰度值相同,所述动态范围中最大灰度值与所述目标灰度值中的最大灰度值相同。
可选的,所述第一确定单元,具体用于在所述灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取所述目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值的下一个灰度值的像素点数量,将所述目标灰度值的上一个灰度值与所述目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,所述第一确定单元,还用于当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取所述目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值中最大目标灰度值的下一个灰度值的像素点数量,将所述最小目标灰度值的上一个灰度值与所述最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
第四方面,本发明实施例还提供了一种指纹识别的装置,包括:
第一获取模块,用于获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级;
第一确定模块,用于当所述第一指纹图像的模糊等级与所述第二指纹图像的模糊等级相同时,在所述第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在所述第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个所述目标动态范围所包含的灰度值数量小于第二预设数量阈值;
第二获取模块,用于获取所述第一目标动态范围所包含的平均灰度值数量,以及所述第二目标动态范围所包含的平均灰度值数量;
第二确定模块,用于当第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级。
可选的,所述第一获取模块包括:
图像切割单元,用于对所述第一指纹图像进行切割处理,获得多个局部指纹图像以及所述多个局部指纹图像的数量总和;
分析单元,用于对所述多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到所述局部指纹图像的动态范围;
第一确定单元,用于当所述局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定所述局部指纹图像的模糊等级为第一模糊等级;
识别单元,用于基于模糊等级为第一模糊等级的局部指纹图像的数量与所述局部指纹图像的数量总和之间的比值,识别所述第一指纹图像的模糊等级。
可选的,所述分析单元,具体用于***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量,基于各个灰度值所对应的像素点数量,确定目标灰度值,所述目标灰度值包括至少两个灰度值,当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定所述局部指纹图像的动态范围,所述动态范围中最小灰度值与所述目标灰度值中的最小灰度值相同,所述动态范围中最大灰度值与所述目标灰度值中的最大灰度值相同。
可选的,所述分析单元在基于各个灰度值所对应的像素点数量,确定目标灰度值时,具体用于:
在所述灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取所述目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值的下一个灰度值的像素点数量,将所述目标灰度值的上一个灰度值与所述目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,所述分析单元在基于各个灰度值所对应的像素点数量,确定目标灰度值之后,具体还用于:
当所述目标灰度值所对应像素点数量的总和与所述灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取所述目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及所述目标灰度值中最大目标灰度值的下一个灰度值的像素点数量,将所述最小目标灰度值的上一个灰度值与所述最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
实施本发明实施例,具有如下有益效果:
在本发明实施例中,终端通过对指纹图像进行切割处理,并对局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,使得该动态范围所包含的灰度值数量小于第一预设数量阈值时,确定所述局部指纹图像的模糊等级,根据该模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,从而能够有效识别指纹图像的模糊等级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种指纹识别方法的流程示意图;
图2是本发明实施例的另一种指纹识别方法的流程示意图;
图3是本发明实施例的又一种指纹识别方法的流程示意图;
图4是本发明实施例的一种指纹识别装置的结构示意图;
图5是本发明实施例的另一种指纹识别装置的结构示意图;
图6是本发明实施例的终端的结构示意图;
图7是本发明实施例的终端的指纹识别界面示意图;
图8是本发明实施例的指纹界面示意图;
图9是本发明实施例的指纹图像的灰度直方图;
图10是本发明实施例的第一指纹图像的灰度直方图;
图11是本发明实施例的第二指纹图像的灰度直方图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种指纹识别的方法及装置,能够有效识别指纹图像的模糊等级,以下分别详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、***、产品或设备没有限定于已列出的步骤或模块,而是可选的还包括没有列出的步骤或模块,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
应理解,本发明实施例的涉及的终端例如可以是手机(如Android手机、iOS手机等)、平板电脑、掌上电脑、移动互联网设备(Mobile Internet Devices,简称MID)、个人数字助理(Personal Digital Assistant,简称PDA)和可穿戴设备等终端设备。该终端还可称为用户设备(User Equipment,简称UE)、移动终端、无线终端或移动台(Mobile Station,简称MS)等等,本发明实施例不做限定。
请参阅图1,图1是本发明实施例提供的一种指纹识别方法的流程示意图,本发明实施例的所述方法可具体应用于上述的终端中。具体的,如图1所示的指纹识别方法可以包括以下步骤:
S101:对指纹图像进行切割处理,获得多个局部指纹图像以及该多个局部指纹图像的数量总和。
在本发明实施例中,终端可以对指纹图像进行图像切割处理,获得多个局部指纹图像,计算并获取所有局部指纹图像的数量总和,以图8所示的指纹界面示意图为例,终端可以将图8中左侧所示的指纹图像切割成图8中右侧所示的25个局部指纹图像,则终端可以确定该指纹图像所包含的局部指纹图像的数量总和为25。需要说明的是,该指纹图像可以是终端在终端的指纹图像数据库中获取到的,指纹图像数据库可以包括至少一个指纹图像,可选的,该指纹图像可以是终端通过指纹传感器采集到的,可选的,该指纹图像也可以是终端通过互联网下载得到的或者其他终端发送的,具体不受本发明实施例的限制。
举例来说,图7是终端的指纹识别界面示意图,用户触控终端的控制面板时,终端可以通过指纹传感器采集指纹图像,并对指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和。
S102:对该多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到该局部指纹图像的动态范围。
可选的,终端可以***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量,基于各个灰度值所对应的像素点数量,确定目标灰度值,该目标灰度值包括至少两个灰度值,当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定局部指纹图像的动态范围,该动态范围中最小灰度值与目标灰度值中的最小灰度值相同,该动态范围中最大灰度值与目标灰度值中的最大灰度值相同。
具体的,终端可以对该多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到该局部指纹图像的动态范围。例如,终端对指纹图像进行切割处理得到25个局部指纹图像之后,终端可以获取第一个局部指纹图像的灰度直方图,并对第一个局部指纹图像的灰度直方图进行分析处理,得到该局部指纹图像的动态范围。同理,终端还可以获取第N个局部指纹图像的灰度直方图,并对第N个局部指纹图像的灰度直方图进行分析处理,得到第N个局部指纹图像的动态范围,其中1<N≤25,N为正整数。其中,动态范围是用于描述指纹图像中所包含的从最暗至最亮的范围,动态范围越大,所能表现的层次越丰富,所包含的色彩空间也越大,以图10所示的第一指纹图像的灰度直方图为例,第一指纹图像的动态范围中最小灰度值为65,最大灰度值为121,第一指纹图像的动态范围所包含的灰度值数量为121-65+1=57,以图11所示的第二指纹图像的灰度直方图为例,第二指纹图像的动态范围中最小灰度值为84,最大灰度值为166,第二指纹图像的动态范围所包含的灰度值数量为166-84+1=83,第二指纹图像的动态范围所包含的灰度值数量大于第一指纹图像的动态范围所包含的灰度值数量,则终端可以确定第二指纹图像相对第一指纹图像较清晰。
S103:当该局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定该局部指纹图像的模糊等级为第一模糊等级。
具体实施例中,以图9所示的灰度直方图为例,当被记录的目标灰度值中最大为170,被记录的目标灰度值中最小为90时,计算局部指纹图像的动态范围为:170-90+1=81。若计算得到的局部指纹图像的动态范围81所包含的灰度值数量小于所设定的第一预设数量阈值时,将该局部指纹图像的模糊等级确定为第一模糊等级,该模糊等级是用于描述指纹图像的分辨率即模糊程度,可以根据设定多个数量阈值分为多个不同的模糊等级。例如,第一预设数量阈值90,而计算得到局部指纹图像的动态范围为81,81<90,因此该局部指纹图像的模糊程度属于第一模糊等级,终端可以确定该局部指纹图像的模糊程度较高。
S104:基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别指纹图像的模糊等级。
具体实施例中,计算所获得的模糊等级为第一模糊等级的所有局部指纹图像数量的总和,将计算所得的第一模糊等级的所有局部指纹图像数量的总和与局部指纹图像的数量总和之间的比值作为判断指纹图像模糊等级的依据,从而识别指纹图像的模糊等级。例如,将指纹图像切割为N小份,对每份进行局部动态范围进行计算,若动态范围小于阈值B,则将该局部指纹图像判定为模糊,模糊数加1,计算所有局部指纹图像的动态范围,最后可得到总模糊数,因此指纹图像的模糊程度为:总模糊数/N×100%。
需要说明的是,当第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,在第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个目标动态范围所包含的灰度值数量小于第二预设数量阈值,通过计算第一目标动态范围所包含的平均灰度值数量,以及第二目标动态范围所包含的平均灰度值数量,所得平均灰度值数量较大的指纹图像更清晰,且模糊等级小于平均灰度值数量较小的指纹图像。
在本发明实施例中,通过对指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,并对局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,使得该动态范围所包含的灰度值数量小于第一预设数量阈值时,确定局部指纹图像的模糊等级,根据该模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,从而能够有效识别指纹图像的模糊等级。
请参阅图2,图2是本发明实施例提供的另一种指纹识别方法的流程示意图,本发明实施例的所述方法可具体应用于上述的终端中。具体的,如图2所示的指纹识别方法可以包括以下步骤:
S201:对指纹图像进行切割处理,获得多个局部指纹图像以及该多个局部指纹图像的数量总和。
S202:对该多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量。
具体的,以图9所示的局部指纹图像的灰度直方图为例,将各个灰度值作为该局部指纹图像的灰度直方图的X轴参数,将各个灰度值对应的像素点数量作为该局部指纹图像的灰度直方图的Y轴参数,终端可以获取该局部指纹图像中各个像素点的灰度值分别为:80、90、100、110、120、130、140、150、160、170、180,***部指纹图像的灰度直方图中各个相同灰度值所对应的像素点数量分别为:50、89、125、150、159、138、130、95、109、85、65。
S203:在灰度直方图中将像素点数量最大的灰度值作为目标灰度值。
具体实施例中,以图9所示的局部指纹图像的灰度直方图为例,终端可以将图9中所统计的像素点个数最大为159时所对应的灰度值120,记录为目标灰度值。
S204:获取该目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值的下一个灰度值的像素点数量。
具体的,以图9所示的局部指纹图像的灰度直方图为例,终端可以根据灰度直方图中所记录的目标灰度值120,获取目标灰度值120的上一个灰度值110所对应的像素点的个数为150个。终端还可以根据灰度直方图中所记录的目标灰度值120,获取目标灰度值120的下一个灰度值130所对应的像素点的个数为138个。
S205:将该目标灰度值的上一个灰度值与该目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
具体的,以图9所示的局部指纹图像的灰度直方图为例,终端可以选取灰度直方图中目标灰度值120的上一个灰度值110以及下一个灰度值130,比较灰度值110所对应像素点的个数和灰度值130所对应像素点的个数的大小,其中,灰度值110所对应像素点的个数为150,灰度值130所对应像素点的个数为138,150>138,则终端可以将灰度值110作为目标灰度值。
S206:当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取该目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值中最大目标灰度值的下一个灰度值的像素点数量。
具体的,以图9所示的局部指纹图像的灰度直方图为例,终端可以根据目标灰度值为120和110,确定目标灰度值120对应的像素点数量为159,目标灰度值110对应的像素点数量为150,则终端可以获取目标灰度值对应的像素点数量的总和为159+150=309。终端可以获取灰度直方图中所有灰度值所对应的像素点数量的总和为:50+89+125+150+159+138+130+95+109+85+65=1195,目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值为309/1195=25.86%,假设预设比例阈值为90%,则终端可以确定目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于预设比例阈值,即25.86%<90%。终端可以在被记录的两个目标灰度值120、110两边再取临近的灰度值:100、130,灰度值100对应像素点数量为125,灰度值130对应像素点数量为138,138>125,终端可以记录较大值138对应的灰度值130为目标灰度值。将记录的所有目标灰度值对应的像素点数量相加:159+150+138=447,目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值为447/1195=37.41%<90%,则终端可以确定目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于预设比例阈值,进而再从记录的目标灰度值两边取临近的灰度值:100、140,灰度值100对应像素点数量为125,灰度值140对应像素点数量为130,130>125,终端可以记录较大值130对应的灰度值140为目标灰度值。将记录的所有目标灰度值对应的像素点数量相加:159+150+138+130=577,目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值为577/1195=48.28%<90%,则终端可以确定目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于预设比例阈值,进而再从记录的目标灰度值两边取临近的灰度值,直至目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值为止。
S207:当该目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定该局部指纹图像的动态范围。
具体的,当记录的目标灰度值对应的像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,将记录的目标灰度值的最大值减去目标灰度值的最小值,再加1,计算得到动态范围的值。其中,该局部指纹图像的动态范围中最小灰度值与目标灰度值中的最小灰度值相同,该局部指纹图像的动态范围中最大灰度值与目标灰度值中的最大灰度值相同。
S208:当该局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定该局部指纹图像的模糊等级为第一模糊等级。
S209:基于模糊等级为第一模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,识别该指纹图像的模糊等级。
在本发明实施例中,通过对各个局部指纹图像的灰度直方图进行分析处理,得到相同灰度值所对应的像素点数量,将像素点数量最大的灰度值作为目标灰度值,获取该目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值的下一个灰度值的像素点数量,将该目标灰度值的上一个灰度值与该目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值,当该目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定该局部指纹图像的动态范围,当该局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定该局部指纹图像的模糊等级为第一模糊等级,基于模糊等级为第一模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,识别该指纹图像的模糊等级,从而能够有效识别指纹图像的模糊等级。
请参阅图3,图3是本发明实施例提供的又一种指纹识别方法的流程示意图,本发明实施例的所述方法可具体应用于上述的终端中。具体的,如图3所示的指纹识别方法可以包括以下步骤:
S301:获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级。
本发明实施例中,终端可以获取第一指纹图像的模糊等级。其中,终端可以通过对第一指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,并统计该局部指纹图像的灰度直方图中相同灰度值所对应的像素点数量。终端将在灰度直方图中像素点数量最大的灰度值作为目标灰度值,并获取目标灰度值的上一个灰度值的像素点数量,以及目标灰度值的下一个灰度值的像素点数量,将目标灰度值的上一个灰度值与目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,终端可以确定局部指纹图像的动态范围,其中,动态范围中最小灰度值与目标灰度值中的最小灰度值相同,动态范围中最大灰度值与目标灰度值中的最大灰度值相同。当局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,终端可以确定局部指纹图像的模糊等级为第一模糊等级。基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别第一指纹图像的模糊等级。
可选的,当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,终端获取目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及目标灰度值中最大目标灰度值的下一个灰度值的像素点数量。将最小目标灰度值的上一个灰度值与最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
作为一种可选的实施方式,终端获取第二指纹图像的模糊等级的方法可以跟获取第一指纹图像的方法一样。例如,终端可以通过对第二指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,并统计该局部指纹图像的灰度直方图中相同灰度值所对应的像素点数量。终端将在灰度直方图中像素点数量最大的灰度值作为目标灰度值,并获取目标灰度值的上一个灰度值的像素点数量,以及目标灰度值的下一个灰度值的像素点数量,将目标灰度值的上一个灰度值与目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,终端可以确定局部指纹图像的动态范围,其中,动态范围中最小灰度值与目标灰度值中的最小灰度值相同,动态范围中最大灰度值与目标灰度值中的最大灰度值相同。当局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,终端可以确定局部指纹图像的模糊等级为第一模糊等级。基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别第二指纹图像的模糊等级。
S302:当第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,在第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个目标动态范围所包含的灰度值数量小于第二预设数量阈值。
具体的,当计算第一指纹图像和第二指纹图像所得的动态范围相同时,分别取第一指纹图像、第二指纹图像局部动态范围小于第二预设数量阈值的局部指纹图像。
S303:获取第一目标动态范围所包含的平均灰度值数量,以及第二目标动态范围所包含的平均灰度值数量。
S304:当第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级。
具体的,分别计算小于第二预设数量阈值的第一指纹图像的局部指纹图像动态范围的平均值,及小于第二预设数量阈值的第二指纹图像的局部指纹图像动态范围的平均值,比较所得两个动态范围平均值的大小,确定清晰等级的大小,平均值较大的指纹图像更清晰。
在本发明实施例中,当第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,在第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,获取第一目标动态范围所包含的平均灰度值数量,以及第二目标动态范围所包含的平均灰度值数量,当第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级,从而能够有效对各个指纹图像的清晰等级进行识别。
请参阅图4,图4是本发明实施例提供的一种指纹识别装置的结构示意图,本发明实施例的所述装置可以设置到终端中。具体的,该指纹识别装置可以包括图像切割模块41、分析模块42、第一确定模块43、识别模块44。
图像切割模块41,用于对指纹图像进行切割处理,获得多个局部指纹图像以及该多个局部指纹图像的数量总和。
分析模块42,用于对多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围。
第一确定模块43,用于当局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定局部指纹图像的模糊等级为第一模糊等级。
识别模块44,用于基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别指纹图像的模糊等级。
可选的,该分析模块42包括:
统计单元421,用于***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量;
第一确定单元422,用于基于统计单元421统计的各个灰度值所对应的像素点数量,确定目标灰度值,干目标灰度值包括至少两个灰度值;
第二确定单元423,用于当第一确定单元422确定的目标灰度值所对应像素点数量的总和与该灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定该局部指纹图像的动态范围,该动态范围中最小灰度值与目标灰度值中的最小灰度值相同,该动态范围中最大灰度值与该目标灰度值中的最大灰度值相同。
可选的,该第一确定单元422,具体用于在灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取该标灰度值的上一个灰度值的像素点数量,以及该目标灰度值的下一个灰度值的像素点数量,将该目标灰度值的上一个灰度值与该目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,该第一确定单元422,还用于当该目标灰度值所对应像素点数量的总和与该灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取该目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值中最大目标灰度值的下一个灰度值的像素点数量,将最小目标灰度值的上一个灰度值与最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
在本发明实施例中,图像切割模块41对指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,分析模块42对局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,使得该动态范围所包含的灰度值数量小于第一预设数量阈值时,第一确定模块43确定局部指纹图像的模糊等级,识别模块44根据该模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,从而能够有效识别指纹图像的模糊等级。
请参阅图5,图5是本发明实施例提供的另一种指纹识别装置的结构示意图,本发明实施例的所述装置可以设置到终端中。具体的,该指纹识别装置可以包括第一获取模块51、第一确定模块52、第二获取模块53、第二确定模块54。
第一获取模块51,用于获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级;
第一确定模块52,用于当第一获取模块51获取的第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,在该第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在该第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个目标动态范围所包含的灰度值数量小于第二预设数量阈值;
第二获取模块53,用于获取第一确定模块52确定的第一目标动态范围所包含的平均灰度值数量,以及该第二目标动态范围所包含的平均灰度值数量;
第二确定模块54,用于当第二获取模块53获取的第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级。
可选的,第一获取模块51包括:
图像切割单元511,用于对第一指纹图像进行切割处理,获得多个局部指纹图像以及该多个局部指纹图像的数量总和;
分析单元512,用于对该多个局部指纹图像中图像切割单元511切割的每一个局部指纹图像的灰度直方图进行分析处理,得到该局部指纹图像的动态范围;
第一确定单元513,用于当该局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定该局部指纹图像的模糊等级为第一模糊等级;
识别单元514,用于基于第一确定单元513确定的模糊等级为第一模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,识别该第一指纹图像的模糊等级。
可选的,该分析单元512,具体用于***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量,基于各个灰度值所对应的像素点数量,确定目标灰度值,该目标灰度值包括至少两个灰度值,当该目标灰度值所对应像素点数量的总和与该灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定该局部指纹图像的动态范围,该动态范围中最小灰度值与目标灰度值中的最小灰度值相同,该动态范围中最大灰度值与目标灰度值中的最大灰度值相同。
可选的,该分析单元512在基于各个灰度值所对应的像素点数量,确定目标灰度值时,具体还用于:
在该灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取该目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值的下一个灰度值的像素点数量,将该目标灰度值的上一个灰度值与该目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,分析单元512在基于各个灰度值所对应的像素点数量,确定目标灰度值之后,具体还用于:
当该目标灰度值所对应像素点数量的总和与该灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取该目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值中最大目标灰度值的下一个灰度值的像素点数量,将该最小目标灰度值的上一个灰度值与该最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
在本发明实施例中,第一获取模块51获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级,当第一获取模块51获取的第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,第一确定模块52在第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在该第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,第二获取模块53获取第一确定模块52确定的第一目标动态范围所包含的平均灰度值数量,以及该第二目标动态范围所包含的平均灰度值数量,当第二获取模块53获取的第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,第二确定模块54确定第二指纹图像的清晰等级大于第一指纹图像的清晰等级,从而,能够对各个指纹图像的清晰等级进行有效识别。
请参阅图6,图6是本发明实施例提供的终端的结构示意图,本发明实施例所述的终端的相关技术细节可以参照图1至图5所示的发明实施例内容,这里不再详述。该终端可以包括:处理器601、通信接口602、存储器603和通信总线404,其中,通信总线604用于实现这些组件之间的通信连接,通信接口602用于实现各机器之间的通信连接。存储器603可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器403可选的还可以是至少一个位于远离前述处理器601的存储装置。其中,处理器601可以结合图4的指纹识别装置,存储器603中存储一组程序代码,且处理器601调用存储器603中存储的程序代码,用于执行以下操作:
对指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和;
对多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围;
当局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定局部指纹图像的模糊等级为第一模糊等级;
基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别指纹图像的模糊等级。
可选的,处理器601调用存储器603中存储的程序代码,对多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,还可以具体执行以下操作:
***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量,基于各个灰度值所对应的像素点数量,确定目标灰度值,该目标灰度值包括至少两个灰度值,当该目标灰度值所对应像素点数量的总和与该灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定该局部指纹图像的动态范围,该动态范围中最小灰度值与目标灰度值中的最小灰度值相同,该动态范围中最大灰度值与目标灰度值中的最大灰度值相同。
可选的,处理器601调用存储器603中存储的程序代码,基于各个灰度值所对应的像素点数量,确定目标灰度值,还可以具体执行以下操作:
在灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取所述目标灰度值的上一个灰度值的像素点数量,以及该目标灰度值的下一个灰度值的像素点数量,将该目标灰度值的上一个灰度值与该目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
其中,处理器601可以结合图5的指纹识别装置,存储器603中存储一组程序代码,且处理器601调用存储器603中存储的程序代码,用于执行以下操作:
获取第一指纹图像的模糊等级,以及第二指纹图像的模糊等级;
当第一指纹图像的模糊等级与第二指纹图像的模糊等级相同时,在第一指纹图像所包含的所有局部指纹图像的动态范围中确定第一目标动态范围,并在第二指纹图像所包含的所有局部指纹图像的动态范围中确定第二目标动态范围,各个目标动态范围所包含的灰度值数量小于第二预设数量阈值;
获取第一目标动态范围所包含的平均灰度值数量,以及第二目标动态范围所包含的平均灰度值数量;
当第一指纹图像的平均灰度值数量小于第二指纹图像的平均灰度值数量时,确定第二指纹图像的模糊等级小于第一指纹图像的模糊等级。
可选的,处理器601调用存储器603中存储的程序代码,获取第一指纹图像的模糊等级,还可以具体执行以下操作:
对第一指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,对多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,当局部指纹图像的动态范围所包含的灰度值数量小于第一预设数量阈值时,确定局部指纹图像的模糊等级为第一模糊等级,基于模糊等级为第一模糊等级的局部指纹图像的数量与局部指纹图像的数量总和之间的比值,识别第一指纹图像的模糊等级。
可选的,处理器601调用存储器603中存储的程序代码,对多个局部指纹图像中的每一个局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,还可以具体执行以下操作:
***部指纹图像的灰度直方图中相同灰度值所对应的像素点数量,基于各个灰度值所对应的像素点数量,确定目标灰度值,目标灰度值包括至少两个灰度值,当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值大于预设比例阈值时,确定局部指纹图像的动态范围,动态范围中最小灰度值与目标灰度值中的最小灰度值相同,动态范围中最大灰度值与目标灰度值中的最大灰度值相同。
可选的,处理器601调用存储器603中存储的程序代码,基于各个灰度值所对应的像素点数量,确定目标灰度值,还可以具体执行以下操作:
在灰度直方图中将像素点数量最大的灰度值作为目标灰度值,获取目标灰度值的上一个灰度值的像素点数量,以及目标灰度值的下一个灰度值的像素点数量,将目标灰度值的上一个灰度值与目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
可选的,处理器601调用存储器603中存储的程序代码,基于各个灰度值所对应的像素点数量,确定目标灰度值之后,还可以具体执行以下操作:
当目标灰度值所对应像素点数量的总和与灰度直方图中所有灰度值所对应的像素点数量的总和之间的比值小于或者等于预设比例阈值时,获取目标灰度值中最小目标灰度值的上一个灰度值的像素点数量,以及目标灰度值中最大目标灰度值的下一个灰度值的像素点数量,将最小目标灰度值的上一个灰度值与最大目标灰度值的下一个灰度值中像素点数量最大的灰度值作为目标灰度值。
在本发明实施例中,终端通过对指纹图像进行切割处理,获得多个局部指纹图像以及多个局部指纹图像的数量总和,并对局部指纹图像的灰度直方图进行分析处理,得到局部指纹图像的动态范围,使得该动态范围所包含的灰度值数量小于第一预设数量阈值时,确定局部指纹图像的模糊等级,根据该模糊等级的局部指纹图像的数量与该局部指纹图像的数量总和之间的比值,从而能够有效识别指纹图像的模糊等级。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。