Remove larger connected components based on pixels

5 visualizzazioni (ultimi 30 giorni)
bwareaopen(bw,p) can delete pixels of connected components below p pixels. I want to delete the connected components above p pixel.
Say, if a connected component has 19 pixel, & we set p =20, bwareaopen() can delete that component. But, I need to delete connected component that has ,say 51 pixels in it. A function to remove larger connected components (above the threshold "p").

Risposta accettata

Image Analyst
Image Analyst il 15 Giu 2015
You can use the bwareafilt() function.

Più risposte (1)

Eric Lin
Eric Lin il 15 Giu 2015
This answer provides a nice solution to your question.
Basically, to delete components greater than a threshold, use a logical complement and AND operation to mask out the larger components.

Community Treasure Hunt

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

Start Hunting!

Translated by