Opencv基于findContours的二值图微小连通域去除

Opencv基于findContours的二值图微小连通域去除


本文是基于https://blog.csdn.net/qingzhuyuxian/article/details/92791447?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase文章的改进,感谢该作者的分享。
原文中的微小连通域去除存在着当嵌套较多的连通域的时候,会出现满足条件的连通域也会被消去,所以我就加了一个判断,判断当前轮廓是否存在内嵌轮廓(算法原理:https://zhuanlan.zhihu.com/p/107257870 ,函数详解:https://blog.csdn.net/laobai1015/article/details/76400725,这两个写的很清楚),然后选择是填充255或者0,而且我利用排序,按照连通域面积的大小来进行填充,就可以避免大轮廓将小轮廓覆盖了,效果图如下:

原图:
在这里插入图片描述
效果图:
在这里插入图片描述
轮廓图:
在这里插入图片描述
程序下载连接:https://download.csdn.net/download/qq_41372644/13633121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值