指纹预处理细化.ppt

上传人:小飞机 文档编号:5736445 上传时间:2023-08-15 格式:PPT 页数:23 大小:263.99KB
返回 下载 相关 举报
指纹预处理细化.ppt_第1页
第1页 / 共23页
指纹预处理细化.ppt_第2页
第2页 / 共23页
指纹预处理细化.ppt_第3页
第3页 / 共23页
指纹预处理细化.ppt_第4页
第4页 / 共23页
指纹预处理细化.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《指纹预处理细化.ppt》由会员分享,可在线阅读,更多相关《指纹预处理细化.ppt(23页珍藏版)》请在三一办公上搜索。

1、指纹预处理细化,目录:,一、细化的定义及细化的原则二、细化的方法三、改进的OPTA细化算法 四、基于数学形态学的查表细化算法,一、细化的定义及细化的原则,预处理是指纹自动识别系统中的最重要的一步,它的的好坏直接影响着指纹识别的效果,细化是指纹识别预处理算法的核心环节。细化的主要作用是去除不必要的纹线粗细信息,节省内存,便于从指纹中提取细节特征(交叉点和端点),从而提高指纹图像的处理速度。,细化的原则,一种好的细化算法应该满足下列条件:收敛性、连通性、拓扑性、保持性、细化性、中轴性和快速性。收敛性:迭代必须是收敛的;连通性:不破坏纹线的连接性;拓扑性:保持原图像的基本结构特性;保持性:保护指纹的

2、细节特征;细化性:骨架纹线的宽度为1个像素,即单像素宽;中轴性:骨架尽可能地接近条纹中心线;快速性:算法简单,速度快。,二、细化的方法,目前为止,关于细化方法的研究工作已有很多成果,所采用的方法从使用的观点来看,比较多的是采用模板匹配的方法。这种方法是根据某个象素的局部邻域(如33,55等)的图像特性对其进行处理,此外也有采用边缘搜索编码,外轮廓计算以及神经网络的细化方法。,从处理的过程来看,主要可以分为串行和并行两类。前者对图像中当前象素的处理依据其邻域内象素的即时化结果,且不同的细化阶段采用不同的处理方法;后者对当前的象素处理依据该象素及其邻域内各象素的前一轮迭代处理的结果,至始至终采用相

3、同的细化准则。,三、改进的OPTA细化算法,细化算法中的OPTA算法能满足收敛性、连接性、拓扑性和保持性,对指纹图像的细化能达到较好的效果,但细化后脊线不光滑,有许多毛刺,且纹线扭曲,不在纹线中心,因此,它不满足细化性和中轴性。这会给特征值提取带来困难。另外,它采用两个大小不同的模板分两次进行运算,其快速性也受到影响。,对OPTA算法进行改进,重新构造保留模板,采用了一种新的细化算法。,图1、消除模板,图2、44模板,图3、保留模板,该算法采用统一的44模板如图3所示。具体算法如下:1)从图像的左上角元素开始进行,每个象素(图中为P5)均抽取出如图3.2所示的15个相邻象素。2)把其中8个邻域

4、象素(P1、P2、P3、P4、P5、P6、P7、P8、P9)与图2所示的8个模板比较,如果和8个细化模板(a).(h)中的任意一个都不匹配时,P5 保留;3)否则,抽取的元素再和图4所示的9 个模板进行比较,如果与其中任一个模板匹配的话,则P5 保留,否则P5 删去。重复上述1)、2)、3)三个过程,直到没有一个象素的值被改变为止。,该算法由于采用了统一的44模板,在消除多余象素的同时,可以同时考虑到连通性,不用像OPTA算法那样分两次作判断,所以简化了算法。同时,该算法对指纹图像能充分细化,但在纹线的水平和竖直方向会产生较多毛刺,且在分叉点处存在不是单象素宽的问题。细化完后可得到图4所示的图

5、像。,四、基于数学形态学的查表细化算法,4.1 数学形态学 数学形态学(Mathmatical Morphology)是分析几何形状和结构的数学方法,是建立在集合代数基础上,用集合论方法定量描述几何结构的科学。形态学的用途主要是获取物体拓扑和结构信息,它通过物体和结构元素相互作用的某些运算,得到物体更本质的形态。数学形态学现在已经成为一种应用于图像处理和模式识别领域的新方法。,4.2基于数学形态学的细化算法,考虑到改进OPTA算法的缺陷,提出一种基于数学形态学的查表细化算法。所谓“细化”就是从原来的图中去掉一些点,但仍要保持原来的形状。实际上,是保持原图的骨架。那么怎样判断一个点是否能去掉呢?

6、显然,同样也要根据它的八个邻域的情况来判断,下面给出几个例子说明,图5 八邻域象素的各种情形,图6 八邻域模板,说明:(1)不能删,因为它是个内部点,我们要求的是骨架,如果 连内部点也删了,骨架也会被掏空的;(2)不能删,和(1)是同样的道理;(3)可以删,这样的点不是骨架;(4)不能删,因为删掉后,原来相连的部分断开了;(5)可以删,这样的点不是骨架;(6)不能删,因为它是直线的端点,如果这样的点删了,那么最后整个直线也被删了,剩不下什么;此外,孤立点也不能删,因为孤立点的骨架就是它自身。总结一下,有如下的判据:(1)内部点不能删除;(2)孤立点不能删除;(3)直线端点不能删除;(4)如果P

7、是边界点,去掉P后,如果连通分量不增加,则P可以删除。,根据上述的判据,事先做出一张表,从0到255共有256个元素,每个元素要么是0,要么是1。我们根据某点(要处理的黑色点)的八个相邻点的情况查表,若表中的元素是1,则表示该点可删,否则保留。,该细化算法的步骤如下:(1)按顺序根据如图6的8邻域值计算用于查表的索引值:(P1-P9分别为0或1),则有256种索引与数值0到255一一对应;(2)根据上述判据制作一张消除表,实际上是一个容量为256的数组,下标分别与象素的索引值一一对应,元素值设为0表示该组合的中心点应该保留,设为1则表示应该删除。,数组定义如下:static int erase

8、table256=0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1

9、,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,1,0,0,0;,(3)从上到下,从左到右,对二值图像进行扫描,对每一个黑点做如下处理:先判断该黑点的左右邻居,如果都是黑点,则该点不做处理:否则计算8邻域编码作为索引,查消

10、除表看是否删除:如果该黑点被删除了,那么跳过它的右邻域,处理下一个点。(4)从左到右,从上到下,对二值图像进行第二次扫描,对每一个黑点做类似处理:先判断该黑点的上下邻居,如果都是黑点,则该点不做处理;否则计算8邻域编码作为索引,查消除表看是否删除:如果该黑点被删除了,那么跳过它的下邻居,处理下一个点。(5)如果本次循环有黑点被删除,则跳到(3),否则,终止循环,细化结束。,例如上面的例子中(1)对应表中的第0项,该项应该为0;(2)对应37,该项应该为0;(3)对应173,该项应该为1;(4)对应231,该项应该为0;(5)对应237,该项应该为1;(6)对应254,该项应该为0。,图4 改进的OPTA细化算法运行结果,图7 查表细化算法运行结果,谢谢观赏!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号