MATLAB: How can i separate all the connected regions in a binary image and display them individually.

binary image

I have small white pixel areas in my binary image, how can I extract only those white connected pixel areas and display them individually.

Best Answer

  • Use bwlabel() and ismember
    [labeledImage, numRegions] = bwlabel(binaryImage);
    props = regionprops(labeledImage, 'Area')
    % Compute all the areas.
    allAreas = [props.Area]
    % Display each blob in its own figure.
    for k = 1 : numRegions
    thisRegion = ismember(labeledImage, k);
    figure;
    imshow(thisRegion);
    drawnow;
    end