Hello, I am student working on Image processing. Right now I am upload two image in GUI with two different axes and extract Minutiae .Now my question is how to match two Minutiae. And if match give a massage the Fingerprints matched otherwise it’s no

1 次查看(过去 30 天)
Hello, I am student working on Image processing. Right now I am upload two image in GUI with two different axes and extract Minutiae .Now my question is how to match two Minutiae. And if match give a massage the Fingerprints matched otherwise it’s not matched.my Minutiae extraction code is given bellow. Could anyone help me?
% convert to binary
binary_image = im2bw( imread(handles.f) );
%Thinning
thin_image=~bwmorph(binary_image,'thin',Inf);
figure;imshow(thin_image);title('Thinned Image');
%Minutiae extraction s=size(thin_image); N=3;%window size n=(N-1)/2; r=s(1)+2*n; c=s(2)+2*n; double temp(r,c); temp=zeros(r,c);bifurcation=zeros(r,c);ridge=zeros(r,c); temp((n+1):(end-n),(n+1):(end-n))=thin_image(:,:); outImg=zeros(r,c,3);%For Display outImg(:,:,1) = temp .* 255; outImg(:,:,2) = temp .* 255; outImg(:,:,3) = temp .* 255; for x=(n+1+10):(s(1)+n-10) for y=(n+1+10):(s(2)+n-10) e=1; for k=x-n:x+n f=1; for l=y-n:y+n mat(e,f)=temp(k,l); f=f+1; end e=e+1; end; if(mat(2,2)==0) ridge(x,y)=sum(sum(~mat)); bifurcation(x,y)=sum(sum(~mat)); end end; end;
% RIDGE END FINDING [ridge_x ridge_y]=find(ridge==2); len=length(ridge_x); %For Display for i=1:len outImg((ridge_x(i)-3):(ridge_x(i)+3),(ridge_y(i)-3),2:3)=0; outImg((ridge_x(i)-3):(ridge_x(i)+3),(ridge_y(i)+3),2:3)=0; outImg((ridge_x(i)-3),(ridge_y(i)-3):(ridge_y(i)+3),2:3)=0; outImg((ridge_x(i)+3),(ridge_y(i)-3):(ridge_y(i)+3),2:3)=0;
outImg((ridge_x(i)-3):(ridge_x(i)+3),(ridge_y(i)-3),1)=255;
outImg((ridge_x(i)-3):(ridge_x(i)+3),(ridge_y(i)+3),1)=255;
outImg((ridge_x(i)-3),(ridge_y(i)-3):(ridge_y(i)+3),1)=255;
outImg((ridge_x(i)+3),(ridge_y(i)-3):(ridge_y(i)+3),1)=255;
end
%BIFURCATION FINDING [bifurcation_x bifurcation_y]=find(bifurcation==4); len=length(bifurcation_x); %For Display for i=1:len outImg((bifurcation_x(i)-3):(bifurcation_x(i)+3),(bifurcation_y(i)-3),1:2)=0; outImg((bifurcation_x(i)-3):(bifurcation_x(i)+3),(bifurcation_y(i)+3),1:2)=0; outImg((bifurcation_x(i)-3),(bifurcation_y(i)-3):(bifurcation_y(i)+3),1:2)=0; outImg((bifurcation_x(i)+3),(bifurcation_y(i)-3):(bifurcation_y(i)+3),1:2)=0;
outImg((bifurcation_x(i)-3):(bifurcation_x(i)+3),(bifurcation_y(i)-3),3)=255;
outImg((bifurcation_x(i)-3):(bifurcation_x(i)+3),(bifurcation_y(i)+3),3)=255;
outImg((bifurcation_x(i)-3),(bifurcation_y(i)-3):(bifurcation_y(i)+3),3)=255;
outImg((bifurcation_x(i)+3),(bifurcation_y(i)-3):(bifurcation_y(i)+3),3)=255;
end
figure;imshow(outImg);title('Minutiae');
end

回答(1 个)

Gopichandh Danala
Gopichandh Danala 2017-6-28
If you have two outputs you want to compare use the function isequal to compare them.
% Example:
if isequal(A,B) % A and B are compared
msgbox('Both A and B are equal', 'MESSAGE');
else
msgbox('A and B are not equal', 'MESSAGE');
end
Incase if you only want to check the percentage of similarity or correlation then use corr2 to find 2-D correlation coefficient the closer it is to 1 the more similar both are.
CCoeff = corr2(A,B)
if CCoeff > 0.7 % (choose a value < 1)
msgbox('Both A and B are similar', 'MESSAGE');
else
msgbox('A and B are not similar', 'MESSAGE');
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by