图像识别算法,图像识别软件

  图像识别算法,图像识别软件

  1内容介绍-指纹增强

  林鸿等人提出的基于Gabor滤波的指纹增强可以分为以下几个步骤:

  标准化:标准化就是将一幅图像的平均灰度和方差调整到预定的水平,从而减少脊线上的灰度差,便于后续处理。

  方向估计:将图像分成不相交的块,在每个块中寻找脊线的主方向。比如求tr2的方向图。骨形态发生蛋白:

  1图片左侧为原图右侧。

  用MATLAB函数blkproc对图像进行分块时,也会得到图像的掩膜,后期可以用特征点去除边界的端点。

  图2图像遮罩

  频率估计:使用标准化的图像和方向模式来查找每个块脊线的频率。

  分割:将图像分为可恢复区域和不可恢复区域。

  滤波:利用脊线主方向和脊线面积组成的相关信息,采用Gabor滤波器增强脊线结构。

  过滤和二值化的指纹图像如图3所示。

  图3增强的指纹图像

  二次细化

  细化的基本原理是模板法,只有满足图4中的模板才会去除中心点。

  图4细化模板

  为了达到更好的效果,使用了MATLAB函数bwmorph,细化后的指纹图像如图5所示。

  图5细化的指纹图像

  三个提取特征点

  为了加速该过程,在细化的图像中,计算每个像素点的八个场的像素和n。如果n=7,则表示该像素点为终点,如果n=5,则表示该像素点为分叉点。

  为了去除指纹边缘的端点(伪特征点),需要使用图2的掩模,并蚀刻掩模,如图6所示。

  图6蚀刻后的掩模

  如果获得的端点位于黑色区域,则认为是伪端点。

  为了去除指纹内部的伪特征点,求两个特征点之间的距离。如果距离小于阈值(例如,10),两个错误特征点都将被删除。最后,提取的特征点如图7所示,其中红叉表示分叉点,蓝色空心圆表示终点。

  图7提取的特征点

  2部分编码%脊线片段-正常指纹图像和片段脊线区域

  function [normim,mask,maskind]=ridgesegment(im,blksze,thresh)

  im=normalise(im,0,1);%归一化为零均值,单位标准差

  fun=inline( STD(x(:)* ones(size(x)));

  stddevim=blkproc(im,[blksze blksze],fun);

  mask=stddevim thresh

  MAS kind=find(mask);

  %重正化图像,使得*脊区域*具有零平均值,单位

  %标准偏差。

  im=im-mean(im(MAS kind));

  nor mim=im/STD(im(MAS kind));

  3运行结果

  4参考文献[1]李进夺。基于图像处理的指纹识别算法研究[D].哈尔滨工程大学,2016级。

  有些理论引用自网络文献。如有侵权,联系博主删除。

  原创作品来自matlab研究助手,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: