文章目录

  • 膨胀运算(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

【图像数学形态学处理】膨胀与腐蚀运算相关推荐

  1. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽

    图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...

  2. 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

    一. 官方文档: dilate(膨胀): 函数原型 ↑ 参数说明 ↑ cv.erode(腐蚀)的使用和其类似. 二. 实验:膨胀和腐蚀 # Writer : wojianxinygcl@163.com ...

  3. OpenCV3学习(4.3)——图像形态学(膨胀,腐蚀)

    在图像处理技术中,有一些的操作会对图像的形态发生改变,这些操作一般称之为形态学操作(phology).数学形态学是基于集合论的图像处理方法,最早出现在生物学的形态与结构中,图像处理中的形态学操作用于图 ...

  4. 数学形态学处理—膨胀腐蚀与开闭运算

    文章目录 0. 形态学处理所解决的问题 1 膨胀与腐蚀运算 1.1 膨胀运算 1.1.1 定义 1.1.2 不同结构元素对原始图像的影响 1.1.3 应用场景 1.2 腐蚀运算 1.2.1 定义 1. ...

  5. 什么叫做形态学图像处理_图像形态学处理中的膨胀与腐蚀介绍

    重要:本文最后更新于2020-03-04 10:40:53,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 本文主要是对图像形态学处理中的膨胀.腐蚀运算方法介绍及在图像中实现的理论基 ...

  6. java 图像膨胀与腐蚀程序_膨胀和腐蚀 - 解决图像缺陷问题

    腐蚀 故名思义就是将图片向内进行收缩. 图1 腐蚀示意图 设经过背景减后的图像为 B,经过腐蚀运算处理后的图像为 P,用 S 表示所用 3R圆(为进化计算可由采用3x3的矩形来代替) 的结构元素,计算 ...

  7. 【OpenCV】图像的形态学操作|腐蚀|膨胀|Canny边缘检测

    文章目录 常见图像形态学算法 膨胀和腐蚀概念 erode 膨胀和腐蚀的主要用途 结构元素 图像噪声分类 给图像添加噪声 图像添加噪声 GaussianBlur medianBlur bilateral ...

  8. 图像膨胀、腐蚀算法实现 python源码

    如果您觉得本文不错!记得点赞哦! 一. 图像形态学简介: 图解图像腐蚀.膨胀 ↑ 经验之谈:形态学操作一般作用于二值图像,来连接相邻的元素(膨胀)或分离成独立的元素(侵蚀).腐蚀和膨胀是针对图片中的白 ...

  9. python 腐蚀膨胀_python实现图像膨胀和腐蚀算法

    如果您觉得本文不错!记得点赞哦! 一. 图像形态学简介: 经验之谈:形态学操作一般作用于二值图像,来连接相邻的元素(膨胀)或分离成独立的元素(侵蚀).腐蚀和膨胀是针对图片中的白色(即前景)部分! 二. ...

最新文章

  1. vue foreach用法_两年前端er,JS和Vue,面试被问了哪些问题呢?有点简单啊
  2. Spring Boot 2.3.0——以war方式打包失败[webxml attribute is required]解决方案
  3. VTK:Texture之TexturePlane
  4. ICS—CERT官网公示匡恩网络新发现四工控漏洞
  5. 20179214《网络攻防实践》第二周学习总结
  6. HDU 1874 畅通工程续
  7. 8.用MyEclipse进行JSP开发
  8. MappingException:class com.zsn.crm.Model.user not found whie looking for property user id
  9. ASP.NET的学习之asp.net整体运行机制
  10. linux shell学习(一)第一个hello world
  11. Linux Hugetlbfs内核源码简析-----(二)Hugetlbfs挂载
  12. c语言指针查找数组一个数_C语言快速入门——指针与数组
  13. c语言课程设计小时钟,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  14. [Luogu 2090]数字对
  15. Mongodb语法学习:查询
  16. EditPlus之Java开发环境配置
  17. ip地址,二进制,十进制、ip地址的组成 重点、ip分割网段
  18. IllegalArgumentException: Mapped Statements collection already contains value
  19. 微信小程序:微信公众号申请微信小程序并认证的步骤
  20. 微服务如何拆分,能解决哪些问题?

热门文章

  1. 学python数据挖掘自学路线图_python零基础学习路线图
  2. 【opencv】Face Detection using Haar Cascades
  3. 软件测试6年工作总结--转
  4. Linux知识点整理(六)—— Linux的vi/vim编辑器常用命令
  5. 2022年全球市场交流运动控制器总体规模、主要生产商、主要地区、产品和应用细分研究报告
  6. 破解WIFI密码,增强网络信号,带你畅玩网络世界
  7. 1.3 应用视觉设计
  8. [机缘参悟-60]:《兵者,诡道也》-1-开篇:“死“与“生“都是天道
  9. 易语言编写限制鼠标移动
  10. module-info.java什么意思?