发明内容
本发明实施例提供一种指纹图像压缩方法及装置。可以解决指纹图像的存储空间不够的问题。
本发明第一方面提供了一种指纹图像压缩方法,包括:
获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;
对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;
将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
其中,所述对所述第一指纹图像进行二值化处理得到第二指纹图像包括:
判断所述第一指纹图像中多个像素点中每个像素点的灰度值是否大于预设阈值;
若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。
其中,所述将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像之后,还包括:
将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。
其中,所述获取第一指纹图像之后,还包括:
对所述第一指纹图像进行归一化处理。
其中,所述获取第一指纹图像之后,还包括:
去除所述第一指纹图像的背景图像,并对去除所述背景图像的所述第一指纹图像进行增强处理。
本发明第二方面提供了一种指纹图像压缩装置,包括:
图像获取模块,用于获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;
图像处理模块,用于对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;
数据压缩模块,用于将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
其中,所述图像处理模块具体用于:
判断所述第一指纹图像中多个像素点中每个像素点的灰度值是否大于预设阈值;
若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。
其中,所述数据压缩模块具体用于:
将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。
其中,所述图像处理模块,还用于对所述第一指纹图像进行归一化处理。
其中,所述图像处理模块,还用于去除所述第一指纹图像的背景图像,并对去除所述背景图像的所述第一指纹图像进行增强处理。
其中,所述装置包括接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;
对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;
将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
实施本发明实施例,首先获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;然后对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;最后将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像,通过对指纹图像的压缩来减少指纹数据的存储空间。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明提出的一种指纹图像压缩方法的第一实施例的流程示意图。如图所示,本发明实施例中的方法包括:
S101,获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数。
具体实现中,可以采用指纹采集装置获取第一指纹图像,如图2所示,图2是本发明实施例提供的一种第一指纹图像的灰度值的结构示意图,第一指纹图像为160*160像素值大小的图像,每个方格表示一个像素点,每个像素点的灰度值使用8位比特数据进行表示。如图2所示,第一指纹图像中第一个像素点的灰度值为11011010,第二个像素点的灰度值为00011010。
S102,对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示。
具体实现中,可以判断所述第一指纹图像中所述多个像素点中每个像素点的灰度值是否大于预设阈值;若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。需要说明的是,第一指纹图像经过二值化处理之后,每个像素点的灰度值只可能为0或者255,预设阈值可以为128。
例如,如图3所示,图3是本发明实施例提供的一种第二指纹图像的灰度值的结构示意图。上述第一指纹图像中的第一个像素点的灰度值为218,该灰度值218大于128,因此可以将第一个像素点的8位比特数据全部设置为1,第一个像素点的灰度值为255,第二个像素点的灰度值为26,该灰度值28小于128,因此可以将第二个像素点的8位比特数据全部设置为0,第二个像素点的灰度值为0,依次对其他各个像素点进行二值化处理,每个像素点的灰度值经二值化处理之后,生成8位比特数据1或8位比特数据0。
S103,将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
具体实现中,如图3所示,第一个像素点的灰度值的8位比特数据全部为1,因此可以将第一个像素点的8位比特数据1压缩为1位比特数据1,如图4所示,第一个方格代表的第一个像素点使用1位比特数据1表示;如图3所示,第二个像素点的灰度值的8位比特数据全部为0,因此可以将第二个像素点的8位比特数据0压缩为1位比特数据0,如图4所示,第5个方格代表的第二个像素点使用1位比特数据0表示,依次对其他各个方格代表的像素点的灰度值进行压缩处理,进而前八个方格每个方格分别只有1位比特数据,总共有8位比特数据。
可选的,可以将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。如图4所示,前八个方格总共有8位比特数据,因此可以将8位比特数据看成一个像素点的灰度值,该灰度值为10010111,依次向后按照相同的方法对其他每八个方格的数据进行处理,因此最终得到的第三指纹图像中的每个像素点的灰度值范围在0~255,第三指纹图像的像素值大小压缩为160*20,压缩了8倍。
在本发明实施例中,首先获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;然后对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;最后将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像,通过对指纹图像的压缩来减少指纹数据的存储空间。
请参考图5,图5是本发明提出的一种指纹图像压缩方法的第二实施例的流程示意图。如图所示,本发明实施例中的方法包括:
S501,获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数。
具体实现中,可以采用指纹采集装置获取第一指纹图像,如图2所示,图2是本发明实施例提供的一种第一指纹图像的灰度值的结构示意图,第一指纹图像为160*160像素值大小的图像,每个方格表示一个像素点,每个像素点的灰度值使用8位比特数据进行表示。如图2所示,第一指纹图像中第一个像素点的灰度值为11011010,第二个像素点的灰度值为00011010。
S502,对所述第一指纹图像进行归一化处理。
具体实现中,可以将第一指纹图像通过一系列变换(即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响),将待处理的原始图像转换成相应的唯一标准形式(该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性)。
S503,去除所述第一指纹图像的背景图像,并对去除所述背景图像的所述第一指纹图像进行增强处理。
具体实现中,可以对显像前的第一指纹图像和显像后第一指纹图像进行图像对应点和指纹区域的标定;对第一指纹图像进行分割,得到背景子图集和对应的指纹子图集;对背景子图集中的低频背景分区对应的指纹子图进行自适应指纹增强;以及对背景子图集中的边缘分区对应的指纹子图进行增强;低频分区增强结果与边缘分区增强结果合并,得到最终的指纹增强的去除所述背景图像的所述第一指纹图像。
S504,对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示。
具体实现中,可以判断所述第一指纹图像中所述多个像素点中每个像素点的灰度值是否大于预设阈值;若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。需要说明的是,第一指纹图像经过二值化处理之后,每个像素点的灰度值只可能为0或者255,预设阈值可以为128。
例如,如图3所示,图3是本发明实施例提供的一种第二指纹图像的灰度值的结构示意图。上述第一指纹图像中的第一个像素点的灰度值为218,该灰度值218大于128,因此可以将第一个像素点的8位比特数据全部设置为1,第一个像素点的灰度值为255,第二个像素点的灰度值为26,该灰度值28小于128,因此可以将第二个像素点的8位比特数据全部设置为0,第二个像素点的灰度值为0,依次对其他各个像素点进行二值化处理,每个像素点的灰度值经二值化处理之后,生成8位比特数据1或8位比特数据0。
S505,将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
具体实现中,如图3所示,第一个像素点的灰度值的8位比特数据全部为1,因此可以将第一个像素点的8位比特数据1压缩为1位比特数据1,如图4所示,第一个方格代表的第一个像素点使用1位比特数据1表示;如图3所示,第二个像素点的灰度值的8位比特数据全部为0,因此可以将第二个像素点的8位比特数据0压缩为1位比特数据0,如图4所示,第5个方格代表的第二个像素点使用1位比特数据0表示,依次对其他各个方格代表的像素点的灰度值进行压缩处理,进而前八个方格每个方格分别只有1位比特数据,总共有8位比特数据。
可选的,可以将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。如图4所示,前八个方格总共有8位比特数据,因此可以将8位比特数据看成一个像素点的灰度值,该灰度值为10010111,依次向后按照相同的方法对其他每八个方格的数据进行处理,因此最终得到的第三指纹图像中的每个像素点的灰度值范围在0~255,第三指纹图像的像素值大小压缩为160*20,压缩了8倍。
在本发明实施例中,首先获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;然后对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;最后将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像,通过对指纹图像的压缩来减少指纹数据的存储空间。
请参考图6,图6是本发明实施例提出的一种指纹图像压缩装置的结构示意图。如图所示,本发明实施例中的装置包括:
图像获取模块601,用于获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数。
具体实现中,可以采用指纹采集装置获取第一指纹图像,如图2所示,图2是本发明实施例提供的一种第一指纹图像的灰度值的结构示意图,第一指纹图像为160*160像素值大小的图像,每个方格表示一个像素点,每个像素点的灰度值使用8位比特数据进行表示。如图2所示,第一指纹图像中第一个像素点的灰度值为11011010,第二个像素点的灰度值为00011010。
图像处理模块602,用于对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示。
具体实现中,可以判断所述第一指纹图像中所述多个像素点中每个像素点的灰度值是否大于预设阈值;若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。需要说明的是,第一指纹图像经过二值化处理之后,每个像素点的灰度值只可能为0或者255,预设阈值可以为128。
例如,如图3所示,图3是本发明实施例提供的一种第二指纹图像的灰度值的结构示意图。上述第一指纹图像中的第一个像素点的灰度值为218,该灰度值218大于128,因此可以将第一个像素点的8位比特数据全部设置为1,第一个像素点的灰度值为255,第二个像素点的灰度值为26,该灰度值28小于128,因此可以将第二个像素点的8位比特数据全部设置为0,第二个像素点的灰度值为0,依次对其他各个像素点进行二值化处理,每个像素点的灰度值经二值化处理之后,生成8位比特数据1或8位比特数据0。
数据压缩模块603,用于将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
具体实现中,如图3所示,第一个像素点的灰度值的8位比特数据全部为1,因此可以将第一个像素点的8位比特数据1压缩为1位比特数据1,如图4所示,第一个方格代表的第一个像素点使用1位比特数据1表示;如图3所示,第二个像素点的灰度值的8位比特数据全部为0,因此可以将第二个像素点的8位比特数据0压缩为1位比特数据0,如图4所示,第5个方格代表的第二个像素点使用1位比特数据0表示,依次对其他各个方格代表的像素点的灰度值进行压缩处理,进而前八个方格每个方格分别只有1位比特数据,总共有8位比特数据。
可选的,可以将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。如图4所示,前八个方格总共有8位比特数据,因此可以将8位比特数据看成一个像素点的灰度值,该灰度值为10010111,依次向后按照相同的方法对其他每八个方格的数据进行处理,因此最终得到的第三指纹图像中的每个像素点的灰度值范围在0~255,第三指纹图像的像素值大小压缩为160*20,压缩了8倍。
可选的,图像处理模块602,还用于对所述第一指纹图像进行归一化处理。
具体实现中,可以将第一指纹图像通过一系列变换(即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响),将待处理的原始图像转换成相应的唯一标准形式(该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性)。
可选的,图像处理模块602,还用于去除所述第一指纹图像的背景图像,并对去除所述背景图像的所述第一指纹图像进行增强处理。
具体实现中,可以对显像前的第一指纹图像和显像后第一指纹图像进行图像对应点和指纹区域的标定;对第一指纹图像进行分割,得到背景子图集和对应的指纹子图集;对背景子图集中的低频背景分区对应的指纹子图进行自适应指纹增强;以及对背景子图集中的边缘分区对应的指纹子图进行增强;低频分区增强结果与边缘分区增强结果合并,得到最终的指纹增强的去除所述背景图像的所述第一指纹图像。
在本发明实施例中,首先获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;然后对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;最后将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像,通过对指纹图像的压缩来减少指纹数据的存储空间。
请参考图7,图7是本发明实施例提出的一种摄像头共享装置的结构示意图。如图所示,该装置可以包括:至少一个处理器701,例如CPU,至少一个通信接口702,至少一个存储器703,至少一个总线704。其中,总线704用于实现这些组件之间的连接通信。其中,本发明实施例中装置的通信接口702是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器703可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器703可选的还可以是至少一个位于远离前述处理器701的存储装置。存储器703中存储一组程序代码,且处理器701用于调用存储器中存储的程序代码,用于执行以下操作:
获取第一指纹图像,所述第一指纹图像中每个像素点的灰度值由N位比特数据表示,所述N为大于等于1的整数;
对所述第一指纹图像进行二值化处理得到第二指纹图像,所述第二指纹图像中每个像素点的灰度值由所述N位相同的比特数据1或比特数据0表示;
将所述第二指纹图像中所述N位相同的比特数据1或比特数据0压缩为1位比特数据得到第三指纹图像。
其中,处理器701还用于执行如下操作步骤:
判断所述第一指纹图像中所述多个像素点中每个像素点的灰度值是否大于预设阈值;
若所述多个像素点中目标像素点的灰度值大于所述预设阈值,则使用所述N位相同的比特数据1表示所述目标像素点的灰度值,若所述多个像素点中目标像素点的灰度值不大于所述预设阈值,则使用所述N位相同的比特数据0表示所述目标像素点的灰度值。
其中,处理器701还用于执行如下操作步骤:
将压缩后的所述N位比特数据表示所述第三指纹图像中每个像素点的灰度值。
其中,处理器701还用于执行如下操作步骤:
对所述第一指纹图像进行归一化处理。
其中,处理器701还用于执行如下操作步骤:
去除所述第一指纹图像的背景图像,并对去除所述背景图像的所述第一指纹图像进行增强处理。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。