| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1354 人关注过本帖
标题:求助:基于matlab的指纹特征识别
只看楼主 加入收藏
zjgq99
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:1 
求助:基于matlab的指纹特征识别
我已经做到细化了,接下来的特征点提取和匹配不知道怎么弄,请高手们帮帮忙!
打算利用计算八邻域像素值改变次数来定位特征点,但是不知道怎么具体实现,后面的步骤更没概念。。。
请高手最好能给出程序
搜索更多相关主题的帖子: matlab 指纹 特征 像素 邻域 
2007-06-05 00:42
zjgq99
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-1
收藏
得分:0 
程序如下,现在不知道怎样做特征(定位)提取和匹配 请高手指点
f=imread('1_1.bmp');%读入图像
imshow(f)
title('指纹原图')
I=ordfilt2(f,5,ones(3,3));%对图像进行3*3的中值滤波
figure,imshow(I)
title('中值滤波')
h=fspecial('unsharp',0.5);%进行锐化
H=filter2(h,I);
figure,imshow(H)
title('锐化')
t=graythresh(I);%二值化后的图像(otsu阈值法)
u=im2bw(H,t);
figure,imshow(u)
title('二值化')
[m,n]=size(u) %去除空洞和毛刺
for x=2:m-1
for y=2:n-1
if u(x,y)==0
if u(x,y-1)+u(x-1,y)+u(x,y+1)+u(x+1,y)>=3
u(x,y)=1;
end
else u(x,y)=u(x,y);
end
end
end
figure,imshow(u)
title('去除毛刺')
for a=2:m-1
for b=2:n-1
if u(a,b)==1
if abs(u(a,b+1)-u(a-1,b+1))+abs(u(a-1,b+1)-u(a-1,b))+abs(u(a-1,b)-u(a-1,b-1))+abs(u(a-1,b-1)-u(a,b-1))+abs(u(a,b-1)-u(a+1,b-1))+abs(u(a+1,b-1)-u(a+1,b))+abs(u(a+1,b)-u(a+1,b+1))+abs(u(a+1,b+1)-u(a,b+1))~=1%寻找端点
if (u(a,b+1)+u(a-1,b+1)+u(a-1,b))*(u(a,b-1)+u(a+1,b-1)+u(a+1,b))+(u(a-1,b)+u(a-1,b-1)+u(a,b-1))*(u(a+1,b)+u(a+1,b+1)+u(a,b+1))==0 %去除毛刺和空洞
u(a,b)=0;
end
end
end
end
end
figure,imshow(u)
title('去除空洞')
v=~u;
w=bwmorph(v,'thin',Inf);%对图像进行细化
figure,imshow(w)
title('细化图')
2007-06-05 01:11
快速回复:求助:基于matlab的指纹特征识别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023154 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved