机器视觉及其应用——形态学图像处理

形态学图像处理

  • 形态学的基本概念与发展历史
    • 形态学和数学形态学的基本概念
    • 形态学的发展历史
    • 集合论的基础
  • 二值形态学的基本操作
    • 二值形态学的基本操作——腐蚀
    • 二值形态学的基本操作——膨胀
    • 腐蚀、膨胀运算及其性质
    • 二值形态学的基本操作——开运算
    • 二值形态学的基本操作——闭运算
  • 灰度图像形态学基本操作
    • 灰度图像腐蚀算法
    • 灰度图像膨胀算法
    • 灰度图像开运算
    • 灰度图像闭运算
    • 灰度形态学膨胀和腐蚀应用——梯度
    • 细化算法
    • 抽骨架(Skeletonization)

形态学的基本概念与发展历史

形态学和数学形态学的基本概念

  • 形态学:是生物学中研究动物和植物结构的一个学科分支。
  • 数学形态学:是以形态为基础对图像进行分析的数学工具。
  • 基本思想:是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。
  • 形态学图像处理的数学基础和所用语言是集合论

形态学的发展历史

  • 1.诞生于1964年,法国巴黎Matheron的纹理分析器
  • 2.法国枫丹白露数学形态学研究中心
  • 3.发展过程
  • 60年代:孕育和形成,1964诞生,Matheron指导下的Serra做岩相学分析,击中击不中变换开闭运算、纹理分析器。1966年命名Mathematical Morphology。1968年成立枫丹白露数学形态学研究中心。
    70年代:纹理分析器商业应用,理论方面Mathron《随机集和积分几何》,数学形态学的核心内容未引起信号图像处理方面重视,多为自然科学家,独立思维开拓图像分析一个新的领域。
  • 80年代:
    Serra 1982完成《图像分析与数学形态学》,形态学走向美
    国及世界。
    在格论框架上建立的数学形态学基础。
    算法开发。
  • 90年代至今
    在模式识别,编码,运动分析,运动景物描述等方面取得进展。
    用于数值函数的形态学算子开发

“如果证明,在某些时候,形态学方法比其他方法在模式识别
方面更有效,那是因为它更好地把握了景物的几何特点,仅此 而已”-Serra

集合论的基础

  • (1)元素和集合:一幅图像称为一个集合,对于二值图像,可认为取值为1的点对应于图像前景像素,取值为0的点对应于背景。
  • 集合元素的运算:属于、包含
  • 交集、并集和补集
    两图像集合A和B的公共点组成的点的集合称为两集合的交集:
    A ∩ B = { a ∣ a ∈ A 且 a ∈ B } A\cap B=\left\{ a \mid a\in A且a\in B \right\} AB={aaAaB}
    两集合 和 所组成的集合称为两集合的并集 :
    A ∪ B = { a ∣ a ∈ A 或 a ∈ B } A \cup B=\left\{ a\mid a\in A或a\in B \right\} AB={aaAaB}
    对于一幅图像 ,图像 区域以外的所有点构成的集合 :
    A c = { a ∣ a ∉ A } A^c=\left\{ a\mid a \notin A \right\} Ac={aa/A}
    机器视觉及其应用——形态学图像处理_第1张图片
    机器视觉及其应用——形态学图像处理_第2张图片
  • 二值形态学中的运算对象是集合。设A为图像集合,S为结构元素,数学形态学运算是用S对A进行操作。
  • 需要指出,实际上结构元素本身也是一个图像集合。对每个结构元素可以指定一个原点,它是结构元素参与形态学运算的参考点。
  • 二值形态学中两个最基本的运算是腐蚀与膨胀
  • 基本运算类似模板运算概念
    机器视觉及其应用——形态学图像处理_第3张图片

二值形态学的基本操作

二值形态学的基本操作——腐蚀

  • 腐蚀
  • 定义: E = A   S = { x ∣ ( S ) y ⊆ A } E=A \ S=\left\{ x\mid (S)_y\subseteq A \right\} E=A S={x(S)yA}
  • 结果:使二值图像减小一圈
  • 算法:
  • 把结构元素S看作为一个卷积模板,每当结构元素平移到其原点位置与目标图像A中那些像素值为“1”的位置重合时,就判断被结构元素覆盖的子图像的其他像素的值是否都与结构元素相应位置的像素值相同;只有当其都相同时,就将结果图像中的那个与原点位置对应的像素位置的值置为“1”,否则置为“0”。
  • 腐蚀在数学形态学运算中的作用是消除物体边界点。如果结构元素取3×3的像素块,腐蚀将使物体的边界沿周边减少一个像素。
    腐蚀可以把小于结构元素的物体(毛刺、小凸起)去除,这样选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。
    如果两个物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以将两个物体分开

二值形态学的基本操作——膨胀

  • 膨胀
  • 定义: E = A ⊕ S = { x ∣ ( S ) y ∩ A ≠ Ф } E = A \oplus S = \left\{ x | (S)_y∩A ≠Ф\right\} E=AS={x(S)yA=Ф}
  • 结果:使图像扩大
  • 算法:
    (1)求结构元素S关于其原点的反射集合S
    (2)每当结构元素S在目标图像A上平移后,结构元素S与其覆盖的子图像中至少有一个元素相交时,就将目标图像中与结构元素S的原点对应的那个位置的像素值置为“1”,否则置为“0”。

腐蚀、膨胀运算及其性质

一般代数性质:交换律,结合律,标量分配律
A ⊕ B = B ⊕ A A\oplus B=B\oplus A AB=BA
A ⊕ ( B ⊕ C ) = ( A ⊕ B ) ⊕ C A\oplus (B\oplus C)=(A\oplus B)\oplus C A(BC)=(AB)C
t ( A ⊕ B ) = t A ⊕ t B t(A\oplus B)=tA \oplus tB t(AB)=tAtB
可用于复杂运算简单化

  • 腐蚀膨胀(开闭)是一对对偶算子(算子相当于对图像补集做对偶运算)
  • 平移不变性:对图像平移再算子操作=对图像算子操作再平移。

二值形态学的基本操作——开运算

开运算(Opening)
思路:用同一结构元素先腐蚀,再膨胀
结果:
1)消除细小对象
2)在细小粘连处分离对象
3)在不改变形状的前提下,平滑对象的边缘

二值形态学的基本操作——闭运算

闭运算(Closing)
思路:用同一结构元素先膨胀、再腐蚀
结果:
1)填充对象内细小空洞。
2)连接邻近对象
3)在不明显改变面积前提下,平滑对象的边缘
机器视觉及其应用——形态学图像处理_第4张图片

灰度图像形态学基本操作

灰度图像腐蚀算法

  • 灰度图像腐蚀
  • 算法:
    *用3×3的结构元素,扫描图像的每一个像素用结构元素与其覆盖的灰度图像进行比较,查找出3×3结构元素中最小的元素代替当前元素。
  • 就是根据当前点的周边点数(如3X3的,周边就有8个点)来修改当前点的状态。

灰度图像膨胀算法

  • 灰度图像膨胀
  • 算法:
  • 用3×3的结构元素,扫描图像的每一个像素用结构元素与其覆盖的灰度图像进行比较,查找出3×3结构元素中最大的元素代替当前元素。

灰度图像开运算

  • 开运算(Opening)
    思路:用同一结构元素先腐蚀,再膨胀
    结果:可以去除相对于结构元素较小的明亮细节,保持整体的灰度级和较大的明亮区域不变。

灰度图像闭运算

闭运算(Closing)
思路:用同一结构元素先膨胀、再腐蚀
结果:可以去除图像中的暗细节部分,相对的保持明亮部分不受影响。

灰度形态学膨胀和腐蚀应用——梯度

  • 形态学梯度——原图像膨胀的结果减去原图像腐蚀的结果可以得到形态学梯度。
  • 形态学梯度能加强图像中比较尖锐的灰度过度区,与常规的边缘检测梯度算子不同,用对称的结构元素得到的形态学梯度受边缘影响小,但是计算速度慢一些。

细化算法

在满足一定条件下迭代删除外围前景像素。
细化将一个曲线形物体细化为一条单像素宽的线,从而图形化地显示出其拓朴性质。显示了细化一组染色体的过程(其中有些接触在一起),细化后生成了一幅每个染色体是一条线段的图。这种方法可视作分隔有相互接触物体的算法的基础。

抽骨架(Skeletonization)

  • 一个与细化有关的运算是抽骨架,也称为中轴变换(Medialaxis transform)或焚烧草地技术(grass‐firetechnigue)。中轴是所有与物体在两个或更多非邻接边界点处相切的圆心的轨迹。但抽骨架很少通过在物体内拟合圆来实现。
  • 概念上,中轴可设想成按如下方式形成。想象一片与物体形状相同的草,沿其外围各点同时点火。当火势向内蔓延,向前推进的火线相遇处各点的轨迹就是中轴。

你可能感兴趣的:(机器视觉及其应用)