MATLAB: How to find x-y coordinates of minutia(end points , short ridges) of finger print image , and store it in matrix

minutia in finger print

i have maximum length of short ridges and i want to extract coordinates of it

Best Answer

  • Assuming the maximum 'area' (not 'length') of short ridges < 50 pixel, I think the following code can detect them.
    % Read the image
    I = imread('finger3.bmp');
    BW = imbinarize(I);
    % Measure region properties
    stats = regionprops(~BW,{'Area','BoundingBox','PixelList'});
    stats = struct2table(stats);
    % Assuming the area of short ridge < 50 pixel
    idx = stats.Area < 50;
    stats = stats(idx,:);
    % Show the detected short ridges
    imshow(I)
    hold on
    for kk = 1:height(stats)
    rectangle('Position',stats.BoundingBox(kk,:),'EdgeColor','b')
    plot(stats.PixelList{kk}(:,1), stats.PixelList{kk}(:,2),'r.')
    end