How to remove non-connected objects?

5 views (last 30 days)
The brown pattern is my main object I am working with.
How should I remove the non-connected objects (i.e. black and cream colored objects)?
Thanks, Duncan

Accepted Answer

Image Analyst
Image Analyst on 25 Jul 2014
First you have to convert the color image into a binary image and do connected components labeling (like with bwlabel() or bwconncomp()), and identify the ID number of the one blob that you want to keep. Then use ismember() to extract the one object you want to keep into a new binary image. If you want to keep the largest one, there is a function I wrote that you can use (attached) that will take a binary image and keep the "N" largest or smallest blobs. If you want to make all areas that are not part of the desired blob to be blue, you need to extrac tthe RGB components and use the inverse of the desired mask to set the R, G, and B planes in the mask to be their respective color. Give it a shot first, and then post your code so I can fix it.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!