二值图像孔洞填充
来源:互联网 发布:禅道数据库配置 编辑:程序博客网 时间:2024/04/29 10:41
(这里的二值为0和255)
二值图像的孔洞填充是基于图像形态学操作的基本运算,本文参考数字图像处理(冈萨雷斯著)相关章节的有关内容并结合作者自己的思考,给出了基于C# 二值图像孔洞填充的可行程序。
基础知识:参考数字图像处理 P402-P415
数学形态学的语言是集合论,这里所说的孔洞是二值图像内部八连通点阵组成的闭合圈内的像素点集,孔洞填充的基本步骤如下:
1.确定二值图像像素[0,0]为初始种子点,这里认为[0,0]像素点为背景点,而非某个孔洞内部的点。
2.以种子点为起点,采用形态学膨胀算法对背景进行填充。膨胀到不能膨胀为止。膨胀运算采用四连通结构元。
四连通结构元(即中心像素为种子,以四连通的方式向周围膨胀):
3.背景填充结束后,对得到的二值图像取反得到新的二值图像,此时图像为全部孔洞的点集。
4.将第三步骤得到的二值图像与原二值图像相加及得到孔洞填充的结果。
这样的算法对于大多数图像有效,然而对于[0,0]位置的像素,若为某孔洞内部的点则无法实现有效的孔洞填充。为了解决这一问题,这里采用拓展图像的方法,即在原图像的上下左右分别增加一行或一列数值为255的像素。使原图像尺寸由a*b 变为(a+2)*(b+2),以增加的四周全部像素或[0,0]处的像素为种子,对原图像进行膨胀运算。
结果如下:(图中未被填充“孔洞”是由于边缘未闭合)
阅读全文
0 0
- 二值图像孔洞填充
- opencv 二值图像的孔洞填充
- 基于漫水填充法的二值图像封闭孔洞填充
- 二值图像中封闭孔洞的高效填充算法(附源码)。
- 二值图像--形态学处理4 击中,边界提取,孔洞填充,连通分量提取,凸壳,细化,骨架,形态学重建
- OpenCV图像内轮廓填-孔洞填充
- OpenCV图像内轮廓填-孔洞填充
- 图像孔洞填充与小连通域的删除
- OPENCV二值化图像内孔洞填充/小区域去除
- OPENCV二值化图像内孔洞填充/小区域去除
- OPENCV二值化图像内孔洞填充/小区域去除
- 二值图像轮廓填充
- opencv填充孔洞
- Opencv图像识别从零到精通(24)------漫水填充,种子填充,区域生长、孔洞填充
- opencv二值图孔洞填充算法
- opencv二值图孔洞填充算法
- 形态学填充孔洞的几个问题
- itk中的数据孔洞填充
- 栈的应用,括号匹配,后缀表达式计算,有趣的汉诺塔--python实现
- PL/SQL之二 异常处理
- [Haskell] CodeWars|Sum of Digits
- Redis Jedis 之 Sharded 源码分析
- MySQL查询效率问题
- 二值图像孔洞填充
- C++中容易忘的知识点——list和forward_list(四)
- 常见调试错误操作集合
- (crm笔记2-3)关于模型驱动获取jsp对象
- 伪分布式安装hadoop2.8.1
- 随机数字生成器(RNG)和Hash函数组合武器背后的黑暗秘密
- 【Java】新建的web项目的jsp页面报错的解决方法
- GDB调试方法
- SpringMVC+MyBatis整合