Displaying objects found with bwconncomp
Show older comments
I have found the amount of objects in my binary image, but I am not sure how to display those objects.
2 Comments
Walter Roberson
on 11 Oct 2021
If you have (for example) 73 connected components, do you want 73 figures, each of which shows the full-sized image but with everything black except for the connected component which is in its proper relative position ?
Ivan Aguilar
on 11 Oct 2021
Answers (1)
I never really use bwconncomp, but I guess you could do something like this.
% create test image
A = imread('coins.png') > 80;
A = bwareaopen(A,100);
imshow(A)
% find min/max blob areas
C = bwconncomp(A);
area = cell2mat(cellfun(@numel,C.PixelIdxList,'uniform',false));
[~,mnidx] = min(area);
[~,mxidx] = max(area);
% construct the two images
smallblob = false(size(A));
smallblob(C.PixelIdxList{mnidx}) = true;
largeblob = false(size(A));
largeblob(C.PixelIdxList{mxidx}) = true;
clf; imshow(smallblob)
clf; imshow(largeblob)
If you want a close-cropped image of the blob itself, you can use the "image" property from regionprops()
Categories
Find more on Region and Image Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

