Remove larger connected components based on pixels

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").

 採用された回答

Image Analyst
Image Analyst 2015 年 6 月 15 日

0 投票

You can use the bwareafilt() function.

その他の回答 (1 件)

Eric Lin
Eric Lin 2015 年 6 月 15 日

0 投票

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.

タグ

質問済み:

2015 年 6 月 12 日

回答済み:

2015 年 6 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by