MATLAB Answers


How to remove unwanted object?

Asked by gugu
on 2 Jan 2018
Latest activity Commented on by Image Analyst
on 3 Jan 2018
I want to remove the pointed object in my attached image. The boundary between these two objects has been split using marker-controlled watershed. I've tried to remove this object using imclearborder with connectivity 4. But, it also removes the region of interest. I also tried to label the image(bwlabel). The number of object returned is 1. I think it should be 2.
How can I remove this unnecessary object?


Rik 2 Jan 2018
If you look closely, you will see a gap in the border, just to the right of your arrow.
Is it the cause? How can I completely split these two objects?

Sign in to comment.

1 Answer

Image Analyst 님의 답변 2 Jan 2018

If the remaining connection gugu pointed out is touching by just a corner, rather than a full side of a pixel, then you can change the connectedness of the process from the default 8 to 4:
binaryImage = imclearborder(binaryImage, 4);


Show 1 older comment
But what you've just said and provided gets us no closer to helping you. Attach the actual, non-annotated binary image.
I got it. Instead of using imclearborder in binary image, I tried using it in grayscale image. Thanks you for your time.
Yeah, it might work but it's description is SO vague, "For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures" that who knows what it is really doing? I sure don't.

Sign in to comment.