文章目录

  • 膨胀运算(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. windows nginx站点分割日志_Nginx 基础用途拾遗
  2. 【数据结构与算法】之深入解析“石子游戏VII”的求解思路与算法示例
  3. java构建json_Java构造和解析Json数据的两种方法详解一
  4. C#LeetCode刷题之#717-1比特与2比特字符( 1-bit and 2-bit Characters)
  5. Golang错误处理机制
  6. 我们正在步入谷歌数据时代
  7. 摩托android one手机图片,Motorola One都说外观像iPhone,但实际却不一样!
  8. Java-Runoob-高级教程-实例-字符串:14. Java 实例 - 连接字符串
  9. MFC教程(Visual C++ 6.0)|合集 |更新中
  10. 为什么-关于因果关系的新科学 | 01 因果关系之梯
  11. oop 商品信息按商品名称查询 商品按价格排序 内含测试类
  12. 「群体遗传学实战」第一课: 对SNP位点进行注释
  13. 边缘服务网格 osm-edge
  14. Cannot obtain block length for LocatedBlock
  15. Adobe Acrobat PDF修改注释作者
  16. 小技巧——如何为foxmail中的文字编辑超链接
  17. 教你玩Robocode(1)
  18. 叫好不叫座的网红狗狗出路何在?
  19. 如何打开Mac电脑的静音模式?如何开启 Apple Watch 静音模式?
  20. c语言过dnf检测,dnf过检测咋写啊 大神能给我说一下吗

热门文章

  1. 地图服务器控件GIS Map Server v3.6发布,新增航空影像数据集功能
  2. html语法在线检测,CSE HTML Validator(HTML语法检查器)
  3. 云原生网关 Kong 和Kong 管理UI 的完全安装攻略
  4. 不限速下载百度网盘大文件
  5. 基于密钥的ssh远程登录
  6. 本文带你了解透彻云计算(前世,今生,未来)
  7. RISC-V架构的开源处理器分析
  8. 电气器件系列二十八:漏电断路器开关(面板参数)
  9. 删除鼠标右键Office 的共享文件夹同步 已成功
  10. ***测试、电子取证系统 – Bugtraq-I