How to find x-y coordinates and orientation of minutiae points of fingerprint

Hello everyone., I have extracted minutiae points from a fingerprint image. Ridge Termination is marked with RED color .Ridge Bifurcation is marked with GREEN color I would like to find the x- and y- coordinates and orientation of those points and also the count of minutiae points
Waiting for ur response guys.,,Thankssssss in advance.,

1 Comment

Hello I would like to know how you have generated such an image (I mean with thinning). I am using FVC 2002 fingerprint images with gray scale on which I wish to carry out thinning. Also do you know how to locate singular points in fingerprint images? Thanks in advance.

Sign in to comment.

 Accepted Answer

You said "I have extracted minutiae points" so you ALREADY HAVE THEM. What does it mean then, when you ask "I would like to find the x- and y- coordinates and orientation of those points and also the count of minutiae points" Again, you said you already extracted them, and in fact even plotted them, so you have them already.

29 Comments

I can't run your code because you did not attach your image. Please explain what "extract" means to you. Isn't CentroidTerm the x,y coordinates?
I didn't understood the below matlab code :
Term=regionprops(LTermLab,'Centroid');
CentroidTerm=round(cat(1,Term(:).Centroid))
plot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')
Term is a structure array with all your measurements for all your blobs. CentroidTerm is where they converted them from a structure into a regular numerical array.
Thanks a lot .,:)
But what does that CentroidTerm array is of.,does it contain X Y coordinates
Yes, it is the x,y coordinates of the blobs in your binary image. O don't know what the blobs are since I didn't run the code but it should be of the minutiae only, not the entire ridges.
Oh Thanks for your guidance.,
So how to display the x, y coordinates(CentroidTerm) in numbers what function to be used.,
numberOfMinutiae = length(Term); % # of blobs
And I don't know why the plot() is not displaying the minutiae for you. Does it put up any small circles at all? Maybe increase the size and line width so you can see them better:
centroids = [Term.Centroid];
xCentroids = centroids(:, 1);
yCentroids = centroids(:, 2);
plot(xCentroids , yCentroids, 'r0', ...
'LineWidth', 3, 'MarkerSize', 10)
Maybe I need to run your code but I don't see anything to find minutiae. It looks like it finds ridges - the whole long ridge, not minutiae like endpoints, branchpoints, loops/whorls, etc.
UPDATE: I tried to run it but you didn't supply the function "minutiae" so it halts there.
Good. It looks like you've solved the problem of "how to display the x, y coordinates" because I can see that you are definitely displaying them. And the count is just the length of the x or y arrays.
hmm.,but how to get the count of it
numberofminutiaeterm=length(CentroidTerm);
numberofminutiaebif=length(CentroidBif);
Is it correct?
I would not use length for 2D matrices. I would use size instead. for 2D matrices, length returns the number of rows or columns, whichever is longer, and that may not be what you expect. In your case if the number of blobs is more than 2, the length is the number of minutiae, but it's not as robust as using size (i.e. it won't be correct for only one blob).
Then u prefer to use size right?
i.e., numberofminutiaeterm=size(CentroidTerm);
Thankssssss a lot for your guidance.,:)
Is it possible to calculate orientation from the X Y position of minutiae points
How would you define orientation of a point?
Angle implies at least 3 points. What are your 3 points?
i have only 2 points so i cant calculate the angle
You can only get an angle if you assume some other line to form an angle with the line defined by your two points, such as the x or y axis.
How to calculate dy/dx of those extracted X Y points ?
Please help
I don't know what that means. A point is a point - there is no slope of just a lone, single point. What if the minutiae is the center dot of a whorl? What would it be in that case?
How can i get the orientation of the minutiae in a fingerprint? Orientation of minutia in the sense i mean, getting the direcion or directional orientation of the ridges in the fingerprint and mark directional orientation for all the minutia points or ridges in the fingerprint?
You could skeletonize your ridges and then run along them with a line of a certain length to get the slope at each point. Of course some minutiae won't have a line that can be fitted to them as I said. I'm not a fingerprint image analyst and I don't have code for that. I'd have to write it from scratch, but since it's your project not mine, I'll let you do that. You can do it as well as I can, probably even better. Good luck.
So make count into an array
for k = 1 : numberOfImages
% Calculate minutiae count
Count(k) = FindMinutiaeForThisImage(); % However you do it.
end
The key point to notice is that Count is now followed by (k), the loop counter inside parentheses.
Why aren't count1 and count2 changing in your loop? Because of that, TotalCount will be the same every single time!!
Sorry I can't "fix" it because I don't know what you are attempting to do. Can't you figure it out by using the debugger?
There was some mistake while reading from multiple images so was not able to store count in array.,
I 'Fixed' it :)
is it possible to extract statistical features of those samples such as mean,Variance,standard deviation,smoothness,skewness,kurtosis.,?
should we implement the relevant formulas in code .,need ur guidance
thanks in advance.,
Sure, but I don't know the formulas for those when you're talking about isolated points in an image. What is the kurtosis of a single point - say the center of a whorl or the tip (endpoint) of a ridge? It doesn't make sense.
Hmmm ok Sir..can u guide when n why kurtosis function will be used.,
Thank you,
Kurtosis is used to describe the shape of a histogram. It's the 4th moment. Basically it says how box-like (flat topped), or cusp-like (like a needle) the histogram is. You might use it to describe how an image looks different if the mean, standard deviation, variance, and skewness of the match that of the other image.

Sign in to comment.

More Answers (1)

Hello, I need Identify at least 7 minutiae that are consistent across the 4 samples from the same finger. Need to circle each in red on one fingerprint image and provide the (x,y) coordinates, angle and type of each, in a manner consistent with the ISO/IEC 19794-2 standard.
Can anyone help me with the code for above task..

Community Treasure Hunt

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

Start Hunting!