【指纹识别】基于Gabor滤波器的指纹识别研究附matlab代码

简介: 【指纹识别】基于Gabor滤波器的指纹识别研究附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

指纹识别技术是通过计算机实现的身份识别手段,也是当今应用最为广泛的生物特征识别技术。指纹识别最早应用在刑侦领域,近几年来已逐渐走向民用市场。同时,民用市场也对指纹识别技术提出了具有小型化、廉价的指纹采集设备,高速计算平台,更高的识别准确率等各方面的要求,以满足各种不同应用的需求。因此进行指纹识别算法的研究仍具有很高的实际意义。 本文主要对基于八方向Gabor滤波器的指纹识别算法进行了研究,实现了该算法从指纹参考点定位,确定感兴趣区域,规格化,八方向Gabor滤波,特征提取到特征比对的整个过程,最终的特征比对过程是建立在比对两个指纹特征向量(指纹码)的欧几里德距离上。

⛄ 部分代码

function [thetaz]=LL_angle2(img,x,y)

rc=0;thetaz=0;

while thetaz==0

   if rc~=0

      img=imrotate(img,rc);

   end

   [imgN,imgM]=size(img);

   image=zeros(imgN,imgM);

   R=width(x,y,img);

   r=10*R;

   for i=1:imgN        %行

       for j=1:imgM    %列

           if sqrt((j-x)^2+(i-y)^2)<r

               image(i,j)=~img(i,j);

           end

       end

   end

   BW=bwmorph(image,'thin',Inf);

   [H,theta,rho]= hough(BW);

   P = houghpeaks(H,7,'threshold',ceil(0.4*max(H(:))));%检测投票结果

   lines = houghlines(BW,theta,rho,P,'FillGap',5,'MinLength',7);%检测直线

   for k = 1:length(lines)

       len = norm(lines(k).point1 - lines(k).point2);%直线的长度

       a(k)=len;

       [~,t]=sort(a);

   end

   N=min(3,length(lines));thetax=zeros(1,N);


   for i=1:N

       thetax(i)=lines(t(length(t)-(i-1))).theta;

   end

   figure;subplot(121);imshow(BW);

   subplot(122);imshow(BW);

   hold on;

   for i=1:N

       xy{i}= [lines(t(length(t)-(i-1))).point1; lines(t(length(t)-(i-1))).point2];

       plot(xy{i}(:,1),xy{i}(:,2),'LineWidth',2,'Color','blue')

   end

   temp=median(thetax);

   n0=0;

   for i=1:N

       if(abs(thetax(i)-temp)<=15)

           xtx(i)=thetax(i);

           n0=n0+1;

       else

           xtx(i)=0;

       end

   end

   if n0==N

       thetaz=sum(xtx)/n0+rc;

       if thetaz<-60

           thetaz=thetaz+180;

       end

   else

       thetaz=0;

   end

   rc=rc+10;

end

end

⛄ 运行结果

⛄ 参考文献

[1]郭浩, 欧宗瑛. 基于Gabor滤波的指纹增强方法研究[C]// 第七届"测量与控制在资源节约,环境保护中的应用"学术会议. 2003.

[2]孙嘉. 基于八方向Gabor滤波器的指纹识别算法[D]. 天津大学.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
199 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
128 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
90 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
5月前
|
存储 算法 计算机视觉
m基于FPGA的FIR低通滤波器实现和FPGA频谱分析,包含testbench和滤波器系数MATLAB计算程序
在Vivado 2019.2平台上开发的系统,展示了数字低通滤波器和频谱分析的FPGA实现。仿真结果显示滤波效果良好,与MATLAB仿真结果一致。设计基于FPGA的FIR滤波器,利用并行处理和流水线技术提高效率。频谱分析通过离散傅里叶变换实现。提供了Verilog核心程序以示例模块工作原理。
50 4
基于高通滤波器的ECG信号滤波及心率统计matlab仿真
**摘要:** 使用MATLAB2022a,实施高通滤波对ECG信号预处理,消除基线漂移,随后分析心率。系统仿真展示效果,核心代码涉及IIR HPF设计,如二阶滤波器的差分方程。通过滤波后的信号,检测R波计算RR间期,从而得到心率。滤波与R波检测是心电生理研究的关键步骤,平衡滤波性能与计算资源是设计挑战。
|
6月前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
77 2
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)

相关课程

更多