发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种图像极值点的提取方法。该方法计算简单,且图像极值点的提取速度快。
本发明的第二个目的在于提出一种图像极值点的提取装置。
为达到上述目的,本发明第一方面实施例提出了一种图像极值点的提取方法,包括以下步骤:获取灰度图像;以所述灰度图像中的每个像素点为中心分别构建第一模块和第二模块;分别计算所述第一模块中所有像素点的灰度值之和以及所述第二模块中所有像素点的灰度值之和;根据所述第一模块中所有像素点的灰度值之和以及所述第二模块中所有像素点的灰度值之和计算每个像素点的响应值;根据所述响应值提取所述灰度图像的极值点。
本发明实施例的图像极值点的提取方法,以灰度图像中的每个像素点为中心分别构建第一模块和第二模块,并分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和,根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值,进而根据响应值提取灰度图像的极值点。该方法通过构建第一模块和第二模块计算图像中像素点的响应值,进而得到图像的极值点,计算复杂度低,能够加快图像极值点的提取速度。
另外,根据本发明上述实施例的指图像极值点的提取方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述灰度图像包括以矩阵形式排列的M*N个像素点,其中,M、N为正整数,所述第一模块由以像素点(x,y)为中心的m1*m2邻域中的像素点组成,所述第二模块由以像素点(x,y)为中心的n1*n2邻域中的像素点组成,其中,所述m1、m2、n1、n2为奇数,且m1>n1,m2>n1,m1>n2,m2>n2。
根据本发明的一个实施例,根据所述第一模块中所有像素点的灰度值之和以及所述第二模块中所有像素点的灰度值之和计算每个像素点的响应值包括:根据如下公式计算所述响应值:
Det(x,y)=Sum_m-w*Sum_n,
其中,所述Det(x,y)为像素点(x,y)的响应值,所述Sum_m为与像素点(x,y)对应的第一模块中所有像素点的灰度值之和,所述Sum_n为与像素点(x,y)对应的第二模块中所有像素点的灰度值之和,所述w为极值系数,w为正整数。
根据本发明的一个实施例,所述w为对m1*m2/(n1*n2)的值取整数后的值。
根据本发明的一个实施例,所述根据所述响应值提取所述灰度图像的极值点包括:判断Det(x,y)的绝对值是否大于预设阈值;如果所述Det(x,y)的绝对值大于预设阈值,则进一步判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,或者,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值;如果Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,则确定像素点(x,y)为极小值点;或者,如果Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,则确定像素点(x,y)为极大值点;其中,k为正整数。
根据本发明的一个实施例,所述图像为采集用户指纹生成的指纹图像。
根据本发明的一个实施例,如果所述图像为指纹图像,像素点(x,y)处取极小值或极大值,则所述像素点(x,y)为所述指纹图像中的极值点。
根据本发明的一个实施例,所述k的取值为2。
为达到上述目的,本发明第二方面实施例提出了一种图像极值点的提取装置,包括:获取模块,用于获取灰度图像;建模模块,用于以所述图像中的每个像素点为中心分别构建第一模块和第二模块;第一计算模块,用于分别计算所述第一模块中所有像素点的灰度值之和以及所述第二模块中所有像素点的灰度值之和;第二计算模块,用于根据所述第一模块中所有像素点的灰度值之和以及所述第二模块中所有像素点的灰度值之和计算每个像素点的响应值;提取模块,用于根据所述响应值提取所述灰度图像的极值点。
本发明实施例的图像极值点的提取装置,通过建模模块以灰度图像中的每个像素点为中心分别构建第一模块和第二模块,并通过第一计算模块分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和,通过第二计算模块根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值,进而通过提取模块根据响应值提取灰度图像的极值点。该装置通过构建第一模块和第二模块计算图像中像素点的响应值,进而得到图像的极值点,计算复杂度低,能够加快图像极值点的提取速度。
另外,根据本发明上述实施例的图像极值点的提取装置还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述灰度图像包括以矩阵形式排列的M*N个像素点,其中,M、N为正整数,所述第一模块由以像素点(x,y)为中心的m*m邻域中的像素点组成,所述第二模块由以像素点(x,y)为中心的m*m邻域中的像素点组成,其中,所述m1、m2、n1、n2为奇数,且m1>n1,m2>n1,m1>n1,m2>n2。
根据本发明的一个实施例,所述第二计算模块,具体用于:根据如下公式计算所述响应值:
Det(x,y)=Sum_m-w*Sum_n,
其中,所述Det(x,y)为像素点(x,y)的响应值,所述Sum_m为与像素点(x,y)对应的第一模块中所有像素点的灰度值之和,所述Sum_n为与像素点(x,y)对应的第二模块中所有像素点的灰度值之和,所述w为极值系数,w为正整数。
根据本发明的一个实施例,所述w为对m1*m2/(n1*n2)的值取整数后的值。
根据本发明的一个实施例,所述提取模块包括:第一判断模块,用于判断Det(x,y)的绝对值是否大于预设阈值;第二判断模块,用于在所述Det(x,y)的绝对值大于预设阈值时,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,或者,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值;确定模块,用于在Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值时,确定像素点(x,y)为极小值点,或者,在Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值时,确定像素点(x,y)为极大值点;其中,k为正整数。
根据本发明的一个实施例,所述图像为采集用户指纹生成的指纹图像。
根据本发明的一个实施例,如果所述图像为指纹图像,像素点(x,y)处取极小值或极大值,则所述像素点(x,y)为所述指纹图像中的极值点。
根据本发明的一个实施例,所述k的取值为2。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的图像极值点的提取方法和装置。
图4是根据本发明实施例的图像极值点的提取方法的流程图。如图4所示,该图像极值点的提取方法包括:
S101,获取灰度图像。
在本发明的实施例中,该图像可以是采集用户指纹生成的指纹图像。
需要说明的是,灰度图像中的极小值所在像素点具有灰度凹陷的特性,即以这一像素点为中心,灰度值向外逐圈增加。同理,以极大值所在像素点为中心,灰度值向外逐圈减小。
S102,以灰度图像中的每个像素点为中心分别构建第一模块和第二模块。
具体地,灰度图像包括以矩阵形式排列的M*N个像素点,第一模块由以像素点(x,y)为中心的m1*m2邻域中的像素点组成,第二模块由以像素点(x,y)为中心的n1*n2邻域中的像素点组成。
其中,M、N为正整数,m1、m2、n1、n2为奇数,且m1>n1,m2>n1,m1>n2,m2>n2。
可选地,m1和m2的取值可以相等,n1和n2的取值可以相等。
在本发明的一个实施例中,m1、m2、n1和n2的取值可以根据所获取的灰度图像的大小(即M、N的取值)而定。例如,对于96*96的指纹灰度图像,m1和m2的取值可以是9,n1和n2的取值可以是5。
需要说明的是,在本发明的一个实施例中,忽略不计无法构建第一模块和第二模块的像素点。
S103,分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和。
S104,根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值。
具体地,可以根据如下公式(1)计算像素点(x,y)响应值:
Det(x,y)=Sum_m-w*Sum_n (1)
其中,Det(x,y)为像素点(x,y)的响应值,Sum_m为与像素点(x,y)对应的第一模块中所有像素点的灰度值之和,Sum_n为与像素点(x,y)对应的第二模块中所有像素点的灰度值之和,w为极值系数,w为正整数。
在本发明的一个实施例中,w为对m1*m2/(n1*n2)的值取整数后的值,例如当m1=m2=9,n1=n2=5时,m1*m2/(n1*n2)=81/25=3.24,取整后为3。
S105,根据响应值提取灰度图像的极值点。
在本发明的一个实施例中,如图5所示,上述步骤S105包括:
S1051,判断Det(x,y)的绝对值是否大于预设阈值。S1052,如果Det(x,y)的绝对值大于预设阈值,则进一步判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,或者,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值。
S1053,如果Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,则确定像素点(x,y)为极小值点。
S1054,如果Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值,则确定像素点(x,y)为极大值点。
其中,k为正整数。
可选地,k的取值可以是2。
在本发明的一个实施例中,如果图像为指纹图像,像素点(x,y)处取极小值或极大值,则像素点(x,y)为指纹图像中的极值点。
其中,可以理解的是,指纹图像的特征点一般包括端点、分叉点、极值点。
需要说明的是,由于获取图像(例如,采集指纹图像)的硬件或外界干扰等原因,使得所获取的图像平滑性较差。因此,为了减小计算误差,保证极值点的稳定性,可以对每个图像中像素点Det(x,y)的绝对值设置对应的阈值,即预设阈值。
举例而言,如图6所示,以图像中的像素点(x,y)为中心分别构建一个9×9的第一模块和一个5×5的第二模块,并分别求出第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和Sum_9和Sum_5,进而求出像素点(x,y)的响应值Det(x,y)=Sum_9-3*Sum_5。同理,求出以像素点(x,y)为中心的5*5邻域(即((x-2):(x+2),(y-2):(y+2)))内所有像素点的响应值Det((x-2):(x+2),(y-2):(y+2))。在Det(x,y)的绝对值大于与该图像对应的预设阈值时,如果Det(x,y)为以像素点(x,y)为中心的5*5邻域中所有像素点的响应值中的最大值,即Det(x,y)=max(Det((x-2):(x+2),(y-2):(y+2))),则像素点(x,y)处取极小值;如果Det(x,y)为以像素点(x,y)为中心的5*5邻域中所有像素点的响应值中的最小值,即Det(x,y)=min(Det((x-2):(x+2),(y-2):(y+2))),则像素点(x,y)处取极大值。
本发明实施例的图像极值点的提取方法,以灰度图像中的每个像素点为中心分别构建第一模块和第二模块,分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和,并根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值,进而根据中心像素点的极值和该中心像素点邻域内像素点的极值确定中心像素点是否取极大值或极小值,由此得到图像的极值点。该方法通过构建第一模块和第二模块计算图像中像素点的响应值,进而得到图像的极值点,计算复杂度低,图像极值点的提取速度快。
图7是本发明实施例的图像极值点的提取装置的结构框图。如图7所示,该图像极值点的提取装置包括:获取模块10、建模模块20、第一计算模块30、第二计算模块40和提取模块50。
其中,获取模块10用于获取灰度图像。
在本发明的一个实施例中,图像可以是采集用户指纹生成的指纹图像。
需要说明的是,灰度图像中的极小值所在像素点具有灰度凹陷的特性,即以这一像素点为中心,灰度值向外逐圈增加。同理,以极大值所在像素点为中心,灰度值向外逐圈减小。
建模模块20用于以灰度图像中的每个像素点为中心分别构建第一模块和第二模块。
具体地,灰度图像包括以矩阵形式排列的M*N个像素点,第一模块由以像素点(x,y)为中心的m1*m2邻域中的像素点组成,第二模块由以像素点(x,y)为中心的n1*n2邻域中的像素点组成。
其中,M、N为正整数,m1、m2、n1、n2为奇数,且m1>n1,m2>n1,m1>n2,m2>n2。
可选地,m1和m2的取值可以相等,n1和n2的取值可以相等。
在本发明的一个实施例中,m1、m2、n1和n2的取值可以根据所获取的灰度图像的大小(即M、M的取值)而定。例如,对于96*96的指纹灰度图像,m1和m2的取值可以是9,n1和n2的取值可以是5。
需要说明的是,在本发明的一个实施例中,忽略不计无法构建第一模块和第二模块的像素点。
第一计算模块30用于分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和。
第二计算模块40用于根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值。
具体地,可以根据如下公式(1)计算像素点(x,y)的响应值:
Det(x,y)=Sum_m-w*Sum_n (1)
其中,Det(x,y)为像素点(x,y)的响应值,Sum_m为与像素点(x,y)对应的第一模块中所有像素点的灰度值之和,Sum_n为与像素点(x,y)对应的第二模块中所有像素点的灰度值之和,w为极值系数,w为正整数。
在本发明的一个实施例中,w为对m1*m2/(n1*n2)的值取整数后的值,例如当m1=m2=9,n1=n2=5时,m1*m2/(n1*n2)=81/25=3.24,取整后为3。
提取模块50用于个根据响应值提取灰度图像的极值点。
在本发明的一个实施例中,如图8所示,该提取模块50可以包括:第一判断模块51、第二判断模块52和确定模块53。
其中,第一判断模块51用于判断Det(x,y)的绝对值是否大于预设阈值。
第二判断模块52用于在Det(x,y)的绝对值大于预设阈值时,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值,或者,判断Det(x,y)是否为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值。
确定模块53用于在Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最大值时,确定像素点(x,y)为极小值点,或者,在Det(x,y)为以像素点(x,y)为中心的(2k+1)*(2k+1)邻域中所有像素点的响应值中的最小值时,确定像素点(x,y)为极大值点。
其中,k为正整数。
可选地,k的取值可以是2。
在本发明的一个实施例中,如果图像为指纹图像,像素点(x,y)处取极小值或极大值,则像素点(x,y)为指纹图像中的极值点。
其中,可以理解的是,指纹图像的特征点一般包括端点、分叉点、极值点。
需要说明的是,由于获取图像(例如,采集指纹图像)的硬件或外界干扰等原因,使得所获取的图像平滑性较差。因此,为了减小计算误差,保证极值点的稳定性,可以对每个图像中像素点Det(x,y)的绝对值设置对应的阈值,即预设阈值。
举例而言,如图6所示,建模模块20以图像中的像素点(x,y)为中心分别构建一个9×9的第一模块和一个5×5的第二模块,第一计算模块30分别求出第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和Sum_9和Sum_5,进而第二计算模块40求出像素点(x,y)的响应值Det(x,y)=Sum_9-3*Sum_5。同理,求出以像素点(x,y)为中心的5*5邻域(即((x-2):(x+2),(y-2):(y+2)))内所有像素点的响应值Det((x-2):(x+2),(y-2):(y+2))。在Det(x,y)的绝对值大于与该图像对应的预设阈值时,如果Det(x,y)为以像素点(x,y)为中心的5*5邻域中所有像素点的响应值中的最大值,即Det(x,y)=max(Det((x-2):(x+2),(y-2):(y+2))),则确定模块53确定像素点(x,y)处取极小值;如果Det(x,y)为以像素点(x,y)为中心的5*5邻域中所有像素点的响应值中的最小值,即Det(x,y)=min(Det((x-2):(x+2),(y-2):(y+2))),则确定模块53确定像素点(x,y)处取极大值。
本发明实施例的图像极值点的提取装置,通过建模模块以灰度图像中的每个像素点为中心分别构建第一模块和第二模块,通过第一计算模块分别计算第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和,并通过第二计算模块根据第一模块中所有像素点的灰度值之和以及第二模块中所有像素点的灰度值之和计算每个像素点的响应值,进而通过确定模块根据中心像素点的响应值和该中心像素点邻域内像素点的响应值确定中心像素点是否为极大值点或极小值点,由此得到图像的极值点。该装置通过构建第一模块和第二模块计算图像中像素点的响应值,进而得到图像的极值点,计算复杂度低,图像极值点的提取速度快。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。