[CODE]我也是做指纹识别毕业设计的,但是做到细化后不知道如何进行下去,得到的图象不太清晰,程序你可以看一下。还有就是谁有指纹中心点提取的程序,请帮一下忙。我的邮箱是liping827156@163.com
下面是我写的一段程序
[sy,map]=imread('22353.bmp');%读入图像
imshow(sy)
i=ind2gray(sy,map);
figure,imshow(i)
j=ordfilt2(i,5,ones(3,3));%对图像进行3*3的中值滤波
figure,imshow(j)
h=fspecial('unsharp',0.5);%进行锐化
h1=filter2(h,j);
figure,imshow(h1)
w=graythresh(j);%二值化后的图像
w1=im2bw(h1,w);
figure,imshow(w1)
[m,n]=size(w1) %去除空洞和毛刺
for x1=2:m-1
for x2=2:n-1
if w1(x1,x2)==0
if w1(x1,x2-1)+w1(x1-1,x2)+w1(x1,x2+1)+w1(x1+1,x2)>=3
w1(x1,x2)=1;
end
else w1(x1,x2)=w1(x1,x2);
end
end
end
figure,imshow(w1)
for i1=2:m-1
for j1=2:n-1
if w1(i1,j1)==1
if abs(w1(i1,j1+1)-w1(i1-1,j1+1))+abs(w1(i1-1,j1+1)-w1(i1-1,j1))+abs(w1(i1-1,j1)-w1(i1-1,j1-1))+abs(w1(i1-1,j1-1)-w1(i1,j1-1))+abs(w1(i1,j1-1)-w1(i1+1,j1-1))+abs(w1(i1+1,j1-1)-w1(i1+1,j1))+abs(w1(i1+1,j1)-w1(i1+1,j1+1))+abs(w1(i1+1,j1+1)-w1(i1,j1+1))~=1%寻找端点
if (w1(i1,j1+1)+w1(i1-1,j1+1)+w1(i1-1,j1))*(w1(i1,j1-1)+w1(i1+1,j1-1)+w1(i1+1,j1))+(w1(i1-1,j1)+w1(i1-1,j1-1)+w1(i1,j1-1))*(w1(i1+1,j1)+w1(i1+1,j1+1)+w1(i1,j1+1))==0 %去除毛刺和空洞
w1(i1,j1)=0;
end
end
end
end
end
figure,imshow(w1)
w2=~w1;
w3=bwmorph(w2,'thin',Inf);对图像进行细化
figure,imshow(w3)