小言_互联网的博客

基于 BP 神经网络特征提取的指纹识别应用(Matlab代码实现)

192人阅读  评论(0)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

  每个人(包括指纹在内)皮肤纹路在图案、断点和交叉点上各不相同, 也就是说, 是唯一的, 并且终生不变。依靠这种唯一性和稳定性, 我们就可以把一个人同他的指纹对应起来, 通过比较他的指纹和预先保存的指纹进行比较, 就可以验证他的真实身份。这就是指纹识别技术。

   十年后指纹识别技术即将迎来一个跳跃性发展的黄金时期, 专家们保守估计, 未来 5 年, 我国将有近百亿元的市场等待着企业去开拓。指纹识别技术的巨大市场前景, 将对国际、国内安防产业产生巨大的影响。识别指纹, 实际上是提取指纹的“细节”特征。所谓“细节”,是指指纹的纹路端点或交叉点。通过研究指纹的一个局部区域的放大, 可以清楚地看到, 在图的中心, 有一个竖直走向的纹路端点, 即有一个竖直方向的细节。细节的存在与否、类型、位置和方向就是所需提取的细节特征参数。

📚2 运行结果

部分代码:

function [ K ] = TuXiangYuChuLi( img_file_name )
%UNTITLED6 Summary of this function goes here
%   Detailed explanation goes here

% 空域增强 -------------------------------

% image_file_name = 'test.png';
img=double(rgb2gray(imread(img_file_name)));
% figure('name','原始指纹图像');
% imshow(img,[])
[m n]=size(img);

Fe=1;%控制参数
Fd=128;

xmax=max(max(img));
u=(1+(xmax-img)/Fd).^(-Fe);     %空间域变换到模糊域

%也可以多次迭代
for i=1:m                       %模糊域增强算子
   for j=1:n
      if u(i,j)<0.5
        u(i,j)=2*u(i,j)^2; 
      else
        u(i,j)=1-2*(1-u(i,j))^2;
      end
   end
end

img=xmax-Fd.*(u.^(-1/Fe)-1);    %模糊域变换回空间域

% figure('name','空域滤波后的图像');
img = uint8(img);
% imshow(img);

%---------------------------------------------------------------

%二值化图像-------------------------------------------------------

level=graythresh(img); 
J=im2bw(img,level); 
% figure('name','二值化后的图像');
% imshow(J);
%---------------------------------------------------------------

%图像细化--------------------------------------------------------
I=J;
K=bwmorph(~I,'thin','inf');
% figure('name','图像细化后的图像');
% imshow(~K);
% saveas(fs,'wan');
%---------------------------------------------------------------

🎉3 参考文献

[1]邓秀春,韩孜,黄剑.基于BP神经网络特征提取的指纹识别应用[J].广西轻工业,2008(04):51-52.

🌈4 Matlab代码实现

 


转载:https://blog.csdn.net/weixin_46039719/article/details/127644802
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场