一种复杂背景下的手掌检测方法及系统技术方案

技术编号:35708739 阅读:13 留言:0更新日期:2022-11-23 15:06
本发明专利技术公开了一种复杂背景下的手掌检测方法及系统,属于信息安全技术领域,其包括以下步骤:对含有复杂背景的原始手掌图像进行二值化分割;于二值图计算手掌宽度;遍历二值图得到类似手指区域的骨架线;构建数组得到每根类似手指区域的骨架线的起始点、终点、长度、标记区域及数量;基于起始点、终点、长度及标记区域区剔除非手指区域骨架线;基于手指区域骨架线,去除二值图中的复杂背景。本发明专利技术摒弃了传统的基于连通区域面积进行剔除背景区域的方式,最终得到的手掌区域更加准确,不容易受区域较大的复杂背景影响,构建数组获得每根类似手指区域的骨架线的起始点、终点、长度、标记区域及数量计算速度较快,提高运行效率。提高运行效率。提高运行效率。

【技术实现步骤摘要】
一种复杂背景下的手掌检测方法及系统


[0001]本专利技术属于信息安全
,尤其涉及一种复杂背景下的手掌检测方法及系统。

技术介绍

[0002]非接触掌静脉识别技术是一种新兴的生物特征识别技术,掌静脉识别因其获取的是人体内部信息,具备了安全和难伪造的优点。接触性掌静脉由于其接触面积较大容易引起用户在卫生方面的排斥心理,不利于掌静脉识别技术的发展,而非接触掌静脉识别技术由于没有固定装置的限制,不需要用户与设备直接接触,可以消除卫生方面的隐患,给用户带来一种新型的生物特征识别体验,具有广阔的应用发展前景。非接触采集过程中,用户手掌放置的自由度较大,采集的掌静脉图像背景复杂多样,因此采集到的掌静脉图像很有可能包含复杂背景。
[0003]现有的非接触掌静脉识别技术一般是直接定位特征点,若是复杂背景下,特征点难以定位,比如,申请公布号为 CN114511885A 的中国专利技术专利申请公开了手掌感兴趣区域提取系统和方法 ,包括:获取所述目标手掌的所述特征图像;基于所述特征图像,确定所述目标手掌的第一轮廓、手掌中心以及第一目标点和第二目标点,所述第一目标点包括食指和中指的交叉点,所述第二目标点包括无名指和小指的交叉点;以所述手掌中心为中心点,所述第一目标点与所述第二目标点的目标连线的长度为边长,建立目标正方形,其中,所述目标正方形中至少有一个边与所述目标连线平行;以及以所述手掌中心为基点,基于预设的比例参数依次调整所述目标正方形的尺寸,直至与所述第一轮廓相交,将所述特征图像中与所述第一轮廓相交的正方形区域对应的图像作为所述目标手掌的感兴趣区域。因此,复杂背景下如何截取出手掌区域是亟需解决的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种复杂背景下的手掌检测方法及系统,以解决现有非接触掌静脉识别技术在背景区域较大时,容易导致感兴趣区域选择错误的问题。
[0005]为解决上述技术问题,本专利技术采用的技术方案是:本专利技术涉及的一种复杂背景下的手掌检测方法,其包括以下步骤:S1.对含有复杂背景的原始手掌图像进行二值化分割,得到二值图;S2.基于二值图计算手掌宽度;S3.遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;S4.构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量;
S5基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线;S6.基于手指区域骨架线,去除二值图中的复杂背景。
[0006]优选地,所述的步骤S2中基于二值图计算手掌宽度的具体方式为:求取二值图中所有的白色像素点的总数,用白色像素点的总数除以存在白色像素点的总行数,作为手掌宽度。
[0007]优选地,所述的步骤S3中寻找类似手指区域的判定依据为:当左边界点和右边界点的间距小于手掌宽度的1/4时,判定该白色区域为类似手指区域。
[0008]优选地,所述的步骤S3中遍历二值图采用的是从上到下、从左到右的顺序进行遍历,当检测到某一行中所有的白色区域的宽度均大于手掌宽度的4/5,结束遍历。
[0009]优选地,所述的步骤S4中构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域的具体步骤包括:S4.1.创建4*n的数组A,数组的每位的初始值均为0,其中,第一行代表骨架线的长度,第二行代表骨架线起始点的行坐标,第三行代表骨架线起始点的列坐标,第四行代表骨架线终点的行坐标;S4.2.遍历找到步骤3检测到的骨架线上的某个骨架点(i,j),判断该骨架点是否为骨架线的起始点,若是,将该骨架点的行坐标i赋值给A(2,j),将该骨架点的列坐标j赋值给A(3,j),若不是起始点,则将A(2,j)、A(2,j

1)和A(2,j+1)相加求和结果赋值给A(2,j),将A(3,j)、A(3,j

1)和A(3,j+1)相加求和结果赋值给A(3,j);S4.3.将A(1,j)、A(1,j

1)和A(1,j+1)相加再加1并赋值给A(1,j),得到骨架线的长度,将骨架点的行坐标i赋值给A(4,j),得到骨架线的终点,同时,将数组A第j

1列和j+1列数值置0;S4.4.将骨架点对应的二值图上所在行的白色区域数值置为对应骨架线起始点的列坐标A(3,j),获得标记区域;S4.5.重复步骤S4.2

S4.4直至检测完成所有的骨架线,获得每条骨架线的起始点、终点、长度和标记区域;所述的步骤S4.2和S4.3中,i为某骨架点的行坐标,j为骨架点的列坐标,1、2、3、4分别为数组A的行数标引。
[0010]优选地,所述的步骤S4.2判断骨架点是否为骨架线的起始点的判断方法为:判断数组A(1,j)、数组A(1,j

1)、数组A(1,j+1)是否均为0,若是,则该骨架点为骨架线的起始点,反之该骨架点不是骨架线的起始点。
[0011]优选地,所述的步骤S5基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线的具体步骤包括:S5.1.找出长度最大的骨架线,该骨架线的长度为L
max
,将长度小于1/10L
max
的骨架线当做非手指骨架线进行排除,同时排除该骨架线相对应的标记区域;S5.2.确认剩余骨架线的数量,并依据剩余骨架线的数量进行相应操作:(a)若剩余骨架线数量大于5,将每相邻的五个骨架线为一组,计算五个骨架线的
终点间的距离之和,距离之和最小的五个骨架线保留,其余的排除,同时排除该骨架线相对应的标记区域;(b)若剩余骨架线数量大于等于3且小于等于5,则直接进入步骤S5.3;(c)若剩余骨架线数量小于3,停止检测,重新采集手掌图像,返回步骤S1;S5.3.计算两两相邻的两个骨架线的起始点与起始点、终点与终点的相对距离,若起始点与起始点的相对距离小于终点与终点的相对距离,或者依据区域标记比较两个相邻区域的平均宽度差,所述平均宽度差大于宽度阈值,则剔除相应的骨架线,同时排除该骨架线相对应的标记区域;若计算所得的值均不超过相应的阈值,则表明骨架线为手指的骨架线;优选地,所述的步骤S6中去除二值图中的复杂背景的具体步骤为:S6.1.以步骤S5中保留的标记区域作为掩膜,去除二值图中手指四周的干扰背景;S6.2.计算骨架线起始点和终点的列坐标最大值maxCol和最小值minCol,将二值图中对应的每行白色区域左边界点的列坐标小于minCol

15或右边界点的列坐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种复杂背景下的手掌检测方法,其特征在于:其包括以下步骤:S1.对含有复杂背景的原始手掌图像进行二值化分割,得到二值图;S2.基于二值图计算手掌宽度;S3.遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;S4.构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量;S5.基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线;S6.基于手指区域骨架线,去除二值图中的复杂背景。2.根据权利要求1所述的复杂背景下的手掌检测方法,其特征在于:所述的步骤S2中基于二值图计算手掌宽度的具体方式为:求取二值图中所有的白色像素点的总数,用白色像素点的总数除以存在白色像素点的总行数,作为手掌宽度。3.根据权利要求1所述的复杂背景下的手掌检测方法,其特征在于:所述的步骤S3中寻找类似手指区域的判定依据为:当左边界点和右边界点的间距小于手掌宽度的1/4时,判定该白色区域为类似手指区域。4.根据权利要求1所述的复杂背景下的手掌检测方法,其特征在于:所述的步骤S3中遍历二值图采用的是从上到下、从左到右的顺序进行遍历,当检测到某一行中所有的白色区域的宽度均大于手掌宽度的4/5,结束遍历。5.根据权利要求1所述的复杂背景下的手掌检测方法,其特征在于:所述的步骤S4中构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域的具体步骤包括:S4.1.创建4*n的数组A,数组的每位的初始值均为0,其中,第一行代表骨架线的长度,第二行代表骨架线起始点的行坐标,第三行代表骨架线起始点的列坐标,第四行代表骨架线终点的行坐标;S4.2.遍历找到步骤3检测到的骨架线上的某个骨架点(i,j),判断该骨架点是否为骨架线的起始点,若是,将该骨架点的行坐标i赋值给A(2,j),将该骨架点的列坐标j赋值给A(3,j),若不是起始点,则将A(2,j)、A(2,j

1)和A(2,j+1)相加求和结果赋值给A(2,j),将A(3,j)、A(3,j

1)和A(3,j+1)相加求和结果赋值给A(3,j);S4.3.将A(1,j)、A(1,j

1)和A(1,j+1)相加再加1并赋值给A(1,j),得到骨架线的长度,将骨架点的行坐标i赋值给A(4,j),得到骨架线的终点,同时,将数组A第j

1列和j+1列数值置0;S4.4.将骨架点对应的二值图上所在行的白色区域数值置为对应骨架线起始点的列坐标A(3,j),获得标记区域;S4.5.重复步骤S4.2

S4.4直至检测完成所有的骨架线,获得每条骨架线的起始点、终点、长度和标记区域;所述的步骤S4.2和S4.3中,i为某骨架点的行坐标,j为骨架点的列坐标,1、2、3、4分别
为数组A的行数标引。6.根据权利要求4所述的复杂背景下的手掌检测方法,其特征在于:所述的步骤S4.2判断骨架点是否为骨架线的起始点的判断方法为:判断数组A(1,j)、数组A(1,...

【专利技术属性】
技术研发人员:赵国栋林莉莉李学双蓝师伟
申请(专利权)人:山东圣点世纪科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1