点击上方“OpenCV与AI深度学习”,选择加"星标"或“置顶”
重磅干货,第一时间送达
导读
本文主要介绍使用OpenCV对二值图做孔洞填充的方法与实现。
背景介绍
为什么要做孔洞填充?因为在部分情况下,二值图内部的孔洞和外部轮廓是一个整体,填充孔洞可以方便后续处理,减少干扰。
OpenCV孔洞填充的常用方法有2种:
① 形态学闭运算。闭运算是先膨胀后腐蚀操作,如上图,先膨胀白色高亮区域增加,孔洞会被填充。但使用闭运算针对不同的图片不能准确知道需要的核大小是多少,所以并不能通用;
② 轮廓绘制方法。通过轮廓绘制drawContours函数设置绘制线宽为-1即可填充绘制。但查找轮廓一般是在二值图处理之后才会使用,这样会造成重复操作。
尽量在二值图时完成孔洞填充,不影响后续操作顺序才是最终目标!
实现步骤与代码
实现步骤:
① 通过二