How to remove non-connected objects?

2 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2014-7-25
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.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by