OpenCV技巧 | 二值图孔洞填充方法与实现(附Python/C++源码)

本文详细介绍了如何使用OpenCV对二值图像进行孔洞填充,包括两种常见方法:形态学闭运算和轮廓绘制。推荐在二值化阶段就完成孔洞填充以减少后续处理的干扰。通过Python和C++代码示例,演示了漫水填充算法的通用实现,适合封装为独立功能。
摘要由CSDN通过智能技术生成

点击上方“OpenCV与AI深度学习”,选择加"星标"或“置顶

重磅干货,第一时间送达

导读

本文主要介绍使用OpenCV对二值图做孔洞填充的方法与实现。

背景介绍

为什么要做孔洞填充?因为在部分情况下,二值图内部的孔洞和外部轮廓是一个整体,填充孔洞可以方便后续处理,减少干扰。

图片

OpenCV孔洞填充的常用方法有2种:

① 形态学闭运算。闭运算是先膨胀后腐蚀操作,如上图,先膨胀白色高亮区域增加,孔洞会被填充。但使用闭运算针对不同的图片不能准确知道需要的核大小是多少,所以并不能通用;

② 轮廓绘制方法。通过轮廓绘制drawContours函数设置绘制线宽为-1即可填充绘制。但查找轮廓一般是在二值图处理之后才会使用,这样会造成重复操作。

尽量在二值图时完成孔洞填充,不影响后续操作顺序才是最终目标!

实现步骤与代码

实现步骤:

① 通过二

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Color Space

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值