transform mask from circle to ring

5 views (last 30 days)
hello all,
i have a number of ROIs made with roipoly and i want to transform them to a ROI ring shape when i can set the thickness of the ring manually, the i dea is to keep the original ROI make a small dupliicate and place it inside and get the ring shape, if someone can help with that or have a better way to do it. image modified to clarify the final ROIs wanted.
regards

Accepted Answer

Image Analyst
Image Analyst on 14 Aug 2021
Once you have the first mask, you can erode it by some then erase that from the original:
radius = 2; % Thickness of ring.
se = strel('disk', radius, 0);
smallerMask = imerode(mask, se);
% Erase it from original.
mask = mask & ~smallerMask;
% Or alternative way to do it that gives the same result:
% mask(smallerMask) = false;
If the thickness is known to be just one pixel, then you can use bwperim()
ringMask = bwperim(mask);

More Answers (0)

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!