✅作者简介:热爱科研的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) 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电子书和数学建模资料 ❤️部分理论引用网络文献,若有侵权联系博主删除⛄ 运行结果
⛄ 参考文献