Is there a way to inverse image dilation?

4 views (last 30 days)
jupiter
jupiter on 4 Nov 2016
Answered: Image Analyst on 9 May 2020
I have an image in which my requirement is to select two pixels away from the boundary, but inside. For selecting n number of pixels outside, I can do it by 'imdilate' function. Is there a way to select pixels inside the boundary either using 'imdilate' or 'imerode' or some other functions?

Answers (2)

Asieh Daneshi
Asieh Daneshi on 9 May 2020
Hi Jupiter,
I think you have found the answer of your question by yourself. But I leave the answer to others who may have the same question. "imerde" does what you want.

Image Analyst
Image Analyst on 9 May 2020
One way is to use bwdist() and then threshold at 2.
edtImage = bwdist(mask);
imshow(edtImage, []);
mask = edtImage >= 2;
imshow(mask);

Community Treasure Hunt

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

Start Hunting!