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?

Answers (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 Comments

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);

Sign in to comment.

Categories

Asked:

on 16 May 2014

Commented:

on 18 May 2014

Community Treasure Hunt

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

Start Hunting!