1) Read all the input images and load the images into the database. I=imread(name of the image) imshow(I) set the position of image set(gcf,"position",[1,1,500,500]) Only the position and directions of these features are stored. 2) Enhancement of the features The enhancement of the image depends upon the quality of the input image to ensure the identification and verification system. In our algorithm, we have already taken a good quality of image. 3) Binarize To binarize the image the ridges are denotted by black and furrow are denotted by the white. J=I(1,1,1)>150 imshow(J) set(gcf,"position",[1,1,500,500] 4) Thining The thining of riges excluded the abnormal pixels until they can be defined as one pixel. K=bwmorph(~J, 'thin ', 'inf '); imshow(~K) …show more content…
To filter the thinned ridges of one by value to 3x3 window function y=minutie(x) i=ceil(size(x)/2); if x(i,i)==0; y=0; else y=sum(x(:)) - 1; end fun=@minutie; L = nlfilter(K,[3 3],fun); 6) Store the neighboring points Define the structure of minutiae points of neighbors typedef struct Minutiae Neigh { int index; // the total number of minutiae points in neighbors byte ridge count; // Distance between the neighbors minutiae points } 7) Calculate the distance between the co-ordinate. h = waitbar(0, 'Distance Computation '); switch nargin case 1 [r1,s1]=size(dataset1); r2=r1; D=zeros(r1,r2); for i=1:r1 waitbar(i/r1) for j=1:r2 if i==j D(i,j)=NaN; else