【图像数学形态学处理】膨胀与腐蚀运算
文章目录
- 膨胀运算(dilation)
- 定义
- 应用说明
- 腐蚀运算(erosion)
- 定义
- 应用说明
- 图像形态学二值化处理运算实现
- 二值图像的逻辑运算
- 形态学运算
- 膨胀与腐蚀运算的编程实现
- 腐蚀运算
- 膨胀运算
图像数学形态学处理,是以形态为基础对图像进行分析的数学工具,它用具有一定形态的结构元素,度量和提取图像中的对应形状,从而达到对图像分析和识别的目的。
其中腐蚀与膨胀是形态学处理的两个基本运算,许多形态学算法都是在这两种运算的基础上进行拓展的。
膨胀和腐蚀运算的效果实际上互为“相反”,如果说膨胀运算的效果是将目标物体变得更加饱满,那么腐蚀运算就是将目标物体变得更加细小。
膨胀运算(dilation)
定义
集合A与B,若满足上式,则称A被B膨胀。
也就是对B的反射进行平移,使之与A的交集不为空的点集合。
如上图所示,设A,B均为正方形,则其反射图形不变。B的反射集合A集合在A集合的四个角处都有3/4的点与A的交集为空,若要保证所有交集都不为空,则A必膨胀至蓝色阴影面积。称A被B膨胀。
应用说明
膨胀运算就是将与物体接触所有背景合并到该物体中,使边界向外扩张的过程。因此,膨胀运算常用来填补物体中的空洞及消除目标物体中的小颗粒噪声。如在处理一张字迹不清的图片时,可以用膨胀运算填补字迹的空洞,从而使字迹更加清晰。
腐蚀运算(erosion)
定义
集合A与B,若满足上式,则称A被B腐蚀。
也就是将B平移z后,集合被包含在A的点的集合。
如上图所示,设A,B均为正方形。B集合平移z单位后的集合在A集合的四角都有3/4的点不被A集合包含。则A必缩小至紫色阴影面积。称A被B腐蚀。
应用说明
腐蚀运算是一种消除边界点,使边界点向内部收缩的过程。因此,腐蚀运算常用来消除图像中一些小且意义的物体;使用腐蚀运算消除图像的背景部分,也可以产生滤波器的效果。
图像形态学二值化处理运算实现
二值图像的逻辑运算
设集合A与B,其逻辑运算包括并集、交集、补集。
其中膨胀运算为二值图像的逻辑运算中的或运算,而腐蚀运算则为与运算。
形态学运算
结构元素是经过特殊定义的邻域,而形态学运算实际也是邻域运算。在每个像素位置上,结构元素与二值图像对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图像的相应像素取值。
膨胀与腐蚀运算的编程实现
腐蚀运算
for (rept = 0;rept < 3;rept++) //设置腐蚀次数{for (i = 1;i < h - 1;i++){for (j = 1;j < w - 1;j++){if (image[i * w + j] == 255) //找到一个图形点{flag = 0;for (m = -1;m < 2;m++){for (n = -1;n < 2;n++){if (image[(i + m) * w + j + n] == 0){flag++;break;}}}if (flag > 3) //该邻域内包含有3个背景点outImg[i * w + j] = 0;}}}}
编程具体思路为:图形点在3×3邻域有若干个背景点,则该点设为背景点,该点像素设为0。
膨胀运算
膨胀运算的编程思路与上述“相反”:当背景在3×3邻域内有若干个图形时,设该点为图形点,该点像素设为255。
编程代码与上述基本相同,改一些参数即可。
基本的形态学处理还有开闭运算,详解见:
https://blog.csdn.net/Carry_qing/article/details/114260197.
W.By Xyq
【图像数学形态学处理】膨胀与腐蚀运算相关推荐
- opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽
图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...
- 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现
一. 官方文档: dilate(膨胀): 函数原型 ↑ 参数说明 ↑ cv.erode(腐蚀)的使用和其类似. 二. 实验:膨胀和腐蚀 # Writer : wojianxinygcl@163.com ...
- OpenCV3学习(4.3)——图像形态学(膨胀,腐蚀)
在图像处理技术中,有一些的操作会对图像的形态发生改变,这些操作一般称之为形态学操作(phology).数学形态学是基于集合论的图像处理方法,最早出现在生物学的形态与结构中,图像处理中的形态学操作用于图 ...
- 数学形态学处理—膨胀腐蚀与开闭运算
文章目录 0. 形态学处理所解决的问题 1 膨胀与腐蚀运算 1.1 膨胀运算 1.1.1 定义 1.1.2 不同结构元素对原始图像的影响 1.1.3 应用场景 1.2 腐蚀运算 1.2.1 定义 1. ...
- 什么叫做形态学图像处理_图像形态学处理中的膨胀与腐蚀介绍
重要:本文最后更新于2020-03-04 10:40:53,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 本文主要是对图像形态学处理中的膨胀.腐蚀运算方法介绍及在图像中实现的理论基 ...
- java 图像膨胀与腐蚀程序_膨胀和腐蚀 - 解决图像缺陷问题
腐蚀 故名思义就是将图片向内进行收缩. 图1 腐蚀示意图 设经过背景减后的图像为 B,经过腐蚀运算处理后的图像为 P,用 S 表示所用 3R圆(为进化计算可由采用3x3的矩形来代替) 的结构元素,计算 ...
- 【OpenCV】图像的形态学操作|腐蚀|膨胀|Canny边缘检测
文章目录 常见图像形态学算法 膨胀和腐蚀概念 erode 膨胀和腐蚀的主要用途 结构元素 图像噪声分类 给图像添加噪声 图像添加噪声 GaussianBlur medianBlur bilateral ...
- 图像膨胀、腐蚀算法实现 python源码
如果您觉得本文不错!记得点赞哦! 一. 图像形态学简介: 图解图像腐蚀.膨胀 ↑ 经验之谈:形态学操作一般作用于二值图像,来连接相邻的元素(膨胀)或分离成独立的元素(侵蚀).腐蚀和膨胀是针对图片中的白 ...
- python 腐蚀膨胀_python实现图像膨胀和腐蚀算法
如果您觉得本文不错!记得点赞哦! 一. 图像形态学简介: 经验之谈:形态学操作一般作用于二值图像,来连接相邻的元素(膨胀)或分离成独立的元素(侵蚀).腐蚀和膨胀是针对图片中的白色(即前景)部分! 二. ...
最新文章
- windows nginx站点分割日志_Nginx 基础用途拾遗
- 【数据结构与算法】之深入解析“石子游戏VII”的求解思路与算法示例
- java构建json_Java构造和解析Json数据的两种方法详解一
- C#LeetCode刷题之#717-1比特与2比特字符( 1-bit and 2-bit Characters)
- Golang错误处理机制
- 我们正在步入谷歌数据时代
- 摩托android one手机图片,Motorola One都说外观像iPhone,但实际却不一样!
- Java-Runoob-高级教程-实例-字符串:14. Java 实例 - 连接字符串
- MFC教程(Visual C++ 6.0)|合集 |更新中
- 为什么-关于因果关系的新科学 | 01 因果关系之梯
- oop 商品信息按商品名称查询 商品按价格排序 内含测试类
- 「群体遗传学实战」第一课: 对SNP位点进行注释
- 边缘服务网格 osm-edge
- Cannot obtain block length for LocatedBlock
- Adobe Acrobat PDF修改注释作者
- 小技巧——如何为foxmail中的文字编辑超链接
- 教你玩Robocode(1)
- 叫好不叫座的网红狗狗出路何在?
- 如何打开Mac电脑的静音模式?如何开启 Apple Watch 静音模式?
- c语言过dnf检测,dnf过检测咋写啊 大神能给我说一下吗