How do I get the coordinates of a fingerprint image?

I have several images in which they have been located in different areas. I would like to find the coordination of where the image of fingerprint is started. Then I want to define a small window square in left top corner of the fingerprint.
Any idea?

Risposte (1)

If you can threshold you can look for the lowest index in the binary image. Here's one of many ways
binaryImage = grayImage < someThreshold;
[rows, columns] = find(binaryImage);
topRow = min(rows);
leftColumn = min(columns);
Another way
verticalProfile = mean(binaryImage, 2);
topRow = find(verticalProfile, 1, 'first');
horizontalProfile = mean(binaryImage, 1);
leftColumn = find(horizontalProfile, 1, 'first');

2 Commenti

Klara
Klara il 18 Mag 2014
Modificato: Klara il 18 Mag 2014
Thanks, I segmented the image based on the variance. Therefore, foreground is area with higher variance. Then by the folowing script, I found the location of the top left corner.
% stats = regionprops(foreground,'Extrema');
top_leftX = round(stats.Extrema(1,2));
top_leftY = round(stats.Extrema(1,1));
How can I divide the image into blocks of 120x120 from that location?
subImage = theImage(top_leftY:top_leftY+59, top_leftX:top_leftX+59);

Accedi per commentare.

Richiesto:

il 16 Mag 2014

Commentato:

il 18 Mag 2014

Community Treasure Hunt

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

Start Hunting!

Translated by