matlab 去除大面积区域,matlab去除大面积连通区域

在利用进行图像形态学处理的时候,经常需要去除面积较大或面积较小的连通区域。

对于去除面积较小的连通区域,matlab提供了现有的函数

BW2 = bwareaopen(BW,P,conn) %删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域

可是matlab并没有去除面积较大连通区域的函数,当然网上也有各种方法来解决这个问题,不过有些繁琐。今天博主给大家介绍一个超级简单且NB的方法。打开matlab,在命令行输入

bwareaopen

选中右击,打开所选内容,也就是打开bwareaopen这个函数

7d620d367f928e3680fecfef5dd21ec1.png

然后我们在函数中找到这个位置,

b91d1a0b28b611867b2d5b5c384ddcbc.png

将其中的

area >= p

修改为

area <= p

然后,修改函数名并另存为removeLargeArea,注意:一定是另存,否则bwareaopen就变成去除较大面积的联通区域了。

cb67c61f3287dd3339a96f21e9bb41c4.png

d6d830b51309a85d73234e4e891833a1.png

d95d82b439145198cce9cf3bc8eae860.png

此时,我们获得了一个函数,然后类似bwareaopen直接调用即可。

BW2 = removeLargeArea(BW,P,conn) %删除二值图像BW中面积大于P的对象,默认情况下conn使用8邻域

可以将这个函数和bwareaopen放在一个路径下,以后直接调用即可(推荐);也可以放在你的工作目录下,不过更换目录时,需要将函数粘贴过去。

Enjoy!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值