You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
How to find x-y coordinates and orientation of minutiae points of fingerprint
3 views (last 30 days)
Show older comments
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
GOPEE Ajit Kumar
on 2 Feb 2017
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.
Accepted Answer
Image Analyst
on 5 Feb 2014
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
Image Analyst
on 5 Feb 2014
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?
Anu Sharma
on 5 Feb 2014
I didn't understood the below matlab code :
Term=regionprops(LTermLab,'Centroid');
CentroidTerm=round(cat(1,Term(:).Centroid))
plot(CentroidTerm(:,1),CentroidTerm(:,2),'ro')
Image Analyst
on 5 Feb 2014
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.
Anu Sharma
on 5 Feb 2014
Thanks a lot .,:)
But what does that CentroidTerm array is of.,does it contain X Y coordinates
Image Analyst
on 5 Feb 2014
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.
Anu Sharma
on 6 Feb 2014
Edited: Anu Sharma
on 6 Feb 2014
Oh Thanks for your guidance.,
So how to display the x, y coordinates(CentroidTerm) in numbers what function to be used.,
Image Analyst
on 7 Feb 2014
Edited: Image Analyst
on 7 Feb 2014
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.
Image Analyst
on 8 Feb 2014
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.
Anu Sharma
on 8 Feb 2014
Edited: Anu Sharma
on 8 Feb 2014
hmm.,but how to get the count of it
numberofminutiaeterm=length(CentroidTerm);
numberofminutiaebif=length(CentroidBif);
Is it correct?
Image Analyst
on 8 Feb 2014
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).
Anu Sharma
on 8 Feb 2014
Then u prefer to use size right?
i.e., numberofminutiaeterm=size(CentroidTerm);
Anu Sharma
on 9 Feb 2014
Thankssssss a lot for your guidance.,:)
Is it possible to calculate orientation from the X Y position of minutiae points
Image Analyst
on 11 Feb 2014
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.
Image Analyst
on 26 Feb 2014
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?
Guha Prasaanth
on 27 Feb 2014
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?
Image Analyst
on 27 Feb 2014
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.
Image Analyst
on 2 Mar 2014
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.
Image Analyst
on 3 Mar 2014
Edited: Image Analyst
on 3 Mar 2014
Don't double space. Just highlight and click {}Code. See this http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
Why aren't count1 and count2 changing in your loop? Because of that, TotalCount will be the same every single time!!
Image Analyst
on 4 Mar 2014
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?
Anu Sharma
on 4 Mar 2014
There was some mistake while reading from multiple images so was not able to store count in array.,
I 'Fixed' it :)
Anu Sharma
on 10 Mar 2014
Edited: Anu Sharma
on 10 Mar 2014
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.,
Image Analyst
on 10 Mar 2014
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.
Anu Sharma
on 11 Mar 2014
Hmmm ok Sir..can u guide when n why kurtosis function will be used.,
Thank you,
Image Analyst
on 11 Mar 2014
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.
More Answers (1)
Vinay
on 20 Apr 2014
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..
1 Comment
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)