形态学来自于生物学,研究动植物的形态和结构。运用在图像中可提取如边界、骨架和凸壳。初学形态学都是在二值化的图像上研究,之后可以扩展到灰度图像。

膨胀和腐蚀

数学形态学与集合论分不开,因为形态学中的操作是基于两个集合的,一个是待处理的像素集合,一个我们叫做结构元SE。SE的形状有多种,原点也有多种,但一般是重心,原点在腐蚀erode和膨胀dilate中表示当前要处理的像素点。像卷积一样,结构元会在图像上遍历,所以我们要对集合A填充,使得结构元的原点在A的边界时,结构元的整体都不会落在图像之外。到现在我们已经知道了形态学基本操作(腐蚀和膨胀)是基本流程和卷积类似,就是利用一个核对像素遍历。卷积是计算卷积核中对应像素乘积之和。腐蚀和膨胀则是基于两个集合的关系。

腐蚀运算的当前像素的结果是两个集合做逻辑与运算,如果SE所占区域和A的一部分是完全重合的,即SE完全属于集合A,那么这一点就取集合A内的值。腐蚀其实是击中击不中变换的简化。击中击不中变换可用于检测图像中目标形状的原点位置,使用的前提条件是图像中的物体之间是断开的,即每个物体被至少一个像素宽的背景像素所环绕。对A和A的补集分别利用D和W-D进行腐蚀,腐蚀结果的交集就是目标的原点。D就是目标,W-D代表与背景相联系的集合。

膨胀是两个集合做或运算,只要部分重合,就把当前像素设置为集合A中的值。膨胀的最简单应用之一是桥接裂缝。而膨胀在连接处细于结构元时会断开。膨胀的一个应用是条件膨胀,可用于孔洞填充,如图像中有一些球体,但是球体中有反光,利用孔洞填充可以消除反光。具体方法是在边界内找到初始点,利用结果元进行迭代,一次迭代是膨胀后与A的补集求交集,交集的目的是寻找背景点。当膨胀之后与A取交集,这时候取的是前景点,可以用于连通分量的提取。

注意我们描述待处理图像A和结构元都是把他们当做集合,膨胀和腐蚀的具体运算也是两个集合之间的关系进行运算,得到的结果也是当做一个集合进行描述。结果的集合是结构元在图中遍历中的所有结果的集合,具体遍历的方式在腐蚀中表现为平移z,在膨胀中表现为结构元的反射(中心对称)的z平移。

还需要注意的是对一幅图(先考虑二值图)中哪些是集合A,我的理解是这个要具体问题具体分析,当结构元元素是白色时,处理的就是图像中的白色区域。

开运算和闭运算

开操作,先腐蚀后膨胀。一个几何解释是开运算是结构元B在A的内侧滚动时所能达覆盖的最大面积。从公式可以看出开运算和腐蚀都是平移后进行条件判断,判断条件是平移之后完全属于集合A,但是结果的操作对象取的不再是结构元的原点,而是平移之后的结构元整体。因为结构体是在A内部平移遍历的,且取的是结构元所能覆盖的面积的最大值,这使得开操作有一个性质:开操作之后的集合是A的子集。开操作同时会断开一些窄的连接和细的突出,可用于消除椒盐噪声。

闭操作和开操作的彼此对偶的。

结构元B对A的闭操作可以看作B的反射对A的补集的开操作,得到的结果再取补集。性质同样对偶,A是闭操作结果的子集。

形态学还可以用于获得集合A的凸壳C(A)。如果A内任意两个点的连线都在A的内部,那么A就是凸集(凸形)。凸壳是包含于A的最小凸集。获得凸集的方法依然是迭代,使用多个结构体对A做击中击不中变换,执行与A的并集,得到的结果再取并集。

根据击中击不中变换,还可以达到细化和粗化。

可以用连续腐蚀和开操作得到骨架。

细化和骨架算法会保留一些寄生分量,因而需要用后处理来消除这些寄生分量。

形态学重建,设计两幅图像和结构元,一幅图像用于标记变换的起始点,一幅图像是模板,用于约束该变换。在形态学重建中,核心是测地膨胀和测地腐蚀。

冈萨雷斯《数字图像处理》读书笔记(九)——形态学图像处理相关推荐

  1. 数字图像处理学习笔记 九 形态学处理

    形态学处理 (一)腐蚀与膨胀 1.1 结构元素 1.2 图像膨胀 1.3 图像腐蚀 1.4 图像膨胀与腐蚀实验 (二)开闭运算 2.1 概念介绍 2.2 实验 2.3 击中与击不中 (三)形态学运算 ...

  2. 数字图像处理(6)——形态学图像处理

    数字图像处理(6)--形态学图像处理 文章目录 数字图像处理(6)--形态学图像处理 1 基本概念 2 二值形态学基本运算 2.1 膨胀(dilation) 2.2 腐蚀(erosion) 2.3 开 ...

  3. c语言指针读书笔记,《C与指针》读书笔记九

    原标题:<C与指针>读书笔记九 指针之所以在C语言中占据很大分量,是因为指针有很大的灵活性.指针以结构体结合确实为程序的编写提供了一把锋利无比的宝剑.在有些资料上介绍结构体是多种数据集合, ...

  4. 3D游戏设计读书笔记九

    3D游戏设计读书笔记九 本次作业五选一,我选择制作血条预制设计,要求如下: 分别使用 IMGUI 和 UGUI 实现 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机 分析两种实现 ...

  5. TCPIP详解Protocol 读书笔记(九) IP选路

    TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 文章目录 TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 IP选路原理简单回顾 初始化路 ...

  6. 数字图像处理——第九章(形态学图像处理)

    参考:https://blog.csdn.net/Dujing2019/article/details/90050755 参考:https://blog.csdn.net/weixin_4190739 ...

  7. 数字图像处理学习笔记 六 彩色图像处理

    目录 (一)彩色模型介绍 1.1 RGB模型 1.2 CMY.CMYK模型 1.3 HSI彩色模型 1.4 HSV模型 1.5 YCbCr 彩色空间 (二)伪彩色图像处理 (三)全彩色图像处理及彩色变 ...

  8. 【数字图像处理】实验五 形态学图像处理

    实验五 形态学图像处理 1 实验目的 2 实验环境 3 实验内容 4 实验心得 1 实验目的 1.了解形态学的基本理论和方法. 2.掌握对图像进行膨胀.腐蚀的方法. 3.掌握开闭运算. 2 实验环境 ...

  9. 数字图像处理 读书笔记一 绪论

    基本概念 函数 f(x, y) 函数 f(x, y) 可以用来表示一副图像,x和y是平面坐标,f(x, y)的结果叫做幅值,表示该点处的强度或者灰度. 数字图像(Digital Image) 当x, ...

  10. 数字图像处理 读书笔记四 电磁波谱

    基本概念 电磁波 没有质量的粒子流,每个粒子以波的模式并用光速向前运动. 光子 每个粒子包含一束能量,每束能量叫做一个光子.因此,一个光子就是一个粒子所带的能量.光子的能量单位是 电子伏特. 波长 粒 ...

最新文章

  1. 轻松实现基于Heartbeat的高可用web服务集群
  2. c语言 char operator,C语言取模运算符(modulus operator)“%”的作用是什么
  3. Class对象和Java反射机制
  4. SpringBoot+Shiro学习(八):RememberMe
  5. Windows下LaTeX安装及使用,使用VS Code改善LaTeX编辑环境
  6. Java客户端操作elasticsearch--向索引库添加mappings映射数据
  7. Python3 基础学习笔记 C09【文件和异常】
  8. 国内首个 App SDK 国家标准成功立项;苹果意外泄露iPhone 12发布时间;TypeScript 4.0 发布| 极客头条
  9. centos7搭建nexus maven私服
  10. 这 8款开源思维导图工具真的很神奇【程序员必备学习工具】
  11. 论坛源码手机php,【校园社区APP】带后台完整社区论坛手机应用源码
  12. 整理C语言结构体数组初始化
  13. Android 汇率换算对比小工具
  14. 用Java编写记事本
  15. Node.js npm 使用介绍
  16. swift中检测跳转苹果自带地图、高德地图、百度地图、腾讯地图
  17. mysql乘法_mysql乘法
  18. 2018-7-16 2-1 分别由signed 和unsigned 限定的 char,short,int,long类型变量的取值范围
  19. Vista SP1 vs. XP SP2 - Benchmarked
  20. java的class文件批量反编译成java

热门文章

  1. 知识图谱入门知识(三)词性标注
  2. 不是所有问题都适合用神经网络去搞!
  3. 别再搜集面经啦!小夕教你斩下NLP算法岗offer!
  4. 论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers
  5. Django - Form和ModelForm
  6. 搭建Hexo博客(一)-创建Hexo环境
  7. Linux中几个实用快捷键
  8. linux——select、poll、epoll
  9. 计算机网络——编码和调制
  10. 牛客16429 组合数问题(二维前缀和、杨辉三角)