Separating Objects in Binary Image

Hey there,
I'd like to separate the objects from the surrounding circle. I would choose operations like imopen, but the area of all objects within the circle should remain the same. I do not need the circle.
Thanks for your help!

 Accepted Answer

Call imfill() and then imerode(). Then mask it: Untested code
mask2 = imfill(mask1, 'holes');
se = strel('disk', 3, 0); % Adjust 3 as needed to erase outer ring.
mask2 = imerode(mask2, se);
mask1(~mask2) = false; % Erase outside of mask, which will erase the outer ring.

1 Comment

Thanks man, it looks so easy when I see your code!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!