天天看點

基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)

💥1 概述

  每個人(包括指紋在内)皮膚紋路在圖案、斷點和交叉點上各不相同, 也就是說, 是唯一的, 并且終生不變。依靠這種唯一性和穩定性, 我們就可以把一個人同他的指紋對應起來, 通過比較他的指紋和預先儲存的指紋進行比較, 就可以驗證他的真實身份。這就是指紋識别技術。

   十年後指紋識别技術即将迎來一個跳躍性發展的黃金時期, 專家們保守估計, 未來 5 年, 我國将有近百億元的市場等待着企業去開拓。指紋識别技術的巨大市場前景, 将對國際、國内安防産業産生巨大的影響。識别指紋, 實際上是提取指紋的“細節”特征。所謂“細節”,是指指紋的紋路端點或交叉點。通過研究指紋的一個局部區域的放大, 可以清楚地看到, 在圖的中心, 有一個豎直走向的紋路端點, 即有一個豎直方向的細節。細節的存在與否、類型、位置和方向就是所需提取的細節特征參數。

📚2 運作結果

基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
基于 BP 神經網絡特征提取的指紋識别應用(Matlab代碼實作)
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
 endimg=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 參考文獻

​​🌈​​4 Matlab代碼實作

繼續閱讀