how to remove objects close to image border

8 views (last 30 days)
hello everyone, i have a problem related with image processing. btw, i have an image like this :
but i want to remove the object closest to the image border ( in this case, the closest one is on the right of the border)
do you know how to do that? thx before.

Accepted Answer

Image Analyst
Image Analyst on 28 Jan 2017
Sorry - I was sleeping, hence the delay on my part.
Simply crop the image with imcrop(), then call imclearborder(), then pad with padarray():
margin = 50; % Whatever
croppedImage = imcrop(binaryImage, [margin, margin, columns - 2 * margin, rows - 2 * margin]);
binaryImage = imclearborder(croppedImage);
binaryImage = logical(padarray(binaryImage, margin));
  2 Comments
Abdul Hamzah
Abdul Hamzah on 30 Jan 2017
thank you very much for your response..but with that method, would it work if the size of the object varies?? the picture i posted above was just an example of the pictures whose object near the border i want to remove...
Image Analyst
Image Analyst on 30 Jan 2017
No. It will remove any object, no matter what size, if it enters the margin. If you want size based filtering, see bwareafilt() or bwareaopen().
And be sure to be aware of stereology

Sign in to comment.

More Answers (1)

Abdul Hamzah
Abdul Hamzah on 28 Jan 2017
hello, anyone?

Community Treasure Hunt

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

Start Hunting!