第 9 章 形态学图像处理 (Morphological Image Processing)

      +

      核心结论

      • 预备知识(§9.1):集合论 / 二值图像 / 结构元素。

      • 腐蚀与膨胀(§9.2):A ⊖ B / A ⊕ B;收缩 / 扩大前景。

      • 开闭运算(§9.3):A ∘ B = (A ⊖ B) ⊕ B / A • B = (A ⊕ B) ⊖ B;去噪 / 填洞。

      • 击中-击不中变换(§9.4):A ⊛ B = (A ⊖ B_1) ∩ (A^c ⊖ B_2);形状检测。

      • 边界提取(§9.5):β(A) = A - (A ⊖ B)

      • 连通分量(§9.6):标记连通区域;对象计数。

      • 形态学重构(§9.7):基于标记的形态学;图像成分提取。

      • 灰度形态学(§9.8):扩展到灰度图像;形态学平滑 / 梯度。

      本章主旨

      本章是形态学——用形状操作处理二值 / 灰度图像。理解后才能做连通分量提取 / 边界 / 形态学平滑 / 孔洞填充。

      一、核心概念

      本章围绕 8 个核心概念展开:预备 → 腐蚀膨胀 → 开闭 → 击中击不中 → 边界 → 连通 → 重构 → 灰度。

      概念 定义 + 重要性 实现提示

      预备知识

      集合论 / 二值图像 / 结构元素。

      §9.1;理解形态学基础。

      腐蚀与膨胀

      A ⊖ B / A ⊕ B;收缩 / 扩大。

      §9.2;最基本形态学运算。

      开闭运算

      开 = 先腐蚀后膨胀;闭 = 先膨胀后腐蚀。

      §9.3;去噪 / 填洞。

      击中-击不中

      形状检测;二值匹配。

      §9.4;模板匹配。

      边界提取

      β(A) = A - (A ⊖ B)

      §9.5;形态学边缘。

      连通分量

      标记连通区域;对象计数。

      §9.6;blob 分析。

      形态学重构

      基于标记;图像成分提取。

      §9.7;高级形态学。

      灰度形态学

      扩展到灰度;形态学平滑 / 梯度。

      §9.8;非二值图像应用。

      二、详细笔记

      2.1 预备知识 (Preliminaries)

      What:集合论 / 结构元素 / 二值图像。

      Why:形态学运算的数学基础。

      How

      • 二值图像:前景(白)/ 背景(黑)。

      • 结构元素 B:小集合(3×3 / 5×5 圆盘 / 十字)。

      • 集合论运算:并 / 交 / 补 / 差。

      When:所有形态学算法。

      Example*:cv2.getStructuringElement(cv2.MORPH_CROSS, (3,3))

      2.2 腐蚀与膨胀 (Erosion & Dilation)

      WhatA ⊖ B(腐蚀)/ A ⊕ B(膨胀)。

      Why:形态学最基本运算。

      How

      • 腐蚀A ⊖ B = {z | B_z ⊆ A};B 在 A 内可放置的位置;前景收缩。

      • 膨胀A ⊕ B = {z | (B̂)_z ∩ A ≠ ∅};B 反射后在 A 内可放置的位置;前景扩大。

      When:去小对象 / 填小洞。

      Example*:cv2.erode(img, kernel)cv2.dilate(img, kernel)

      2.3 开闭运算 (Opening & Closing)

      What:开 = 先腐蚀后膨胀;闭 = 先膨胀后腐蚀。

      Why:去噪 / 填洞常用。

      How

      • A ∘ B = (A ⊖ B) ⊕ B;去除小对象 / 断开细连接;保形状。

      • A • B = (A ⊕ B) ⊖ B;填小洞 / 连接近邻;保形状。

      When:去噪;形态学平滑。

      Example*:cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)cv2.MORPH_CLOSE

      2.4 击中-击不中变换 (Hit-or-Miss Transform)

      WhatA ⊛ B = (A ⊖ B_1) ∩ (A^c ⊖ B_2)

      Why:检测特定形状;模板匹配。

      How

      • B = (B_1, B_2) 前景 + 背景结构元素。

      • A ⊛ B = (A ⊖ B_1) ∩ (A^c ⊖ B_2);只在指定结构处为真。

      When:形状检测;字符识别预处理。

      Example*:cv2.morphologyEx(img, cv2.MORPH_HITMISS, kernel)

      2.5 边界提取 (Boundary Extraction)

      Whatβ(A) = A - (A ⊖ B)

      Why:形态学边缘检测。

      How:原图 - 腐蚀 = 边界。

      When:形态学边缘;blob 分析。

      Example*:boundary = img - cv2.erode(img, kernel)

      2.6 连通分量 (Connected Components)

      What:标记连通区域;对象计数。

      Why:blob 分析;对象计数。

      How

      • 4-连通 / 8-连通。

      • 迭代标记 / 两遍扫描 / 并查集。

      When:细胞计数;字符分割;车辆计数。

      Example*:cv2.connectedComponents(binary_img)cv2.connectedComponentsWithStats

      2.7 形态学重构 (Morphological Reconstruction)

      What:基于标记的形态学;提取图像成分。

      Why:高级形态学;选择性提取。

      How

      • 标记:种子点。

      • 掩码:限制区域。

      • 测地膨胀:在掩码内膨胀标记直至稳定。

      When:选择性提取;去除背景;纹理滤波。

      Example*:skimage.morphology.reconstruction(marker, mask)

      2.8 灰度形态学 (Grayscale Morphology)

      What:扩展到灰度图像。

      Why:非二值图像形态学。

      How

      • 灰度腐蚀 / 膨胀min / max 邻域。

      • 形态学平滑:开闭交替。

      • 形态学梯度dilate - erode

      • 顶帽 / 黑帽:原图 - 开 / 闭。

      When:预处理;增强。

      Example*:cv2.morphologyEx(gray_img, cv2.MORPH_GRADIENT, kernel)

      三、关键图表

      视觉图表

      图 9-1
      Figure 1. 图 9-1:腐蚀与膨胀示意
      图 9-2
      Figure 2. 图 9-2:开闭运算效果

      非可视化条目

      非可视化条目(表 / 算法)
      编号 内容摘要

      表 9.1

      形态学运算对照表(腐蚀 / 膨胀 / 开 / 闭 / 击中击不中)。

      式 9-1 至 9-30

      形态学公式。

      核心公式对照表

      核心公式对照表
      概念 公式

      腐蚀

      latexmath:[A \ominus B = \{z

      B_z \subseteq A\}]

      膨胀 a: latexmath:[A \oplus B = \{z

      (\hat{B})_z \cap A \neq \varnothing\}]

      开运算

      \(A \circ B = (A \ominus B) \oplus B\)

      闭运算

      \(A \bullet B = (A \oplus B) \ominus B\)

      击中-击不中

      四、思维导图

      mindmap
        root((第 9 章 形态学))
          预备
            集合论
            结构元素
          腐蚀膨胀
            收缩扩大
          开闭
            去噪填洞
          击中击不中
            形状检测
          边界
            形态学边缘
          连通
            blob分析
          重构
            标记掩码
          灰度
            形态学梯度
            顶帽

      五、重点与易错点

      • 形态学用结构元素:选对 SE 是关键(圆盘 / 矩形 / 十字)。

      • 开 = 去小对象;闭 = 填小洞:选择决定效果。

      • 击中-击不中用于形状检测:二值模板匹配。

      • 连通分量必须选对邻接:4-连通 vs 8-连通影响结果。

      • 形态学重构基于标记:标记 = 种子;测地膨胀 = 在掩码内膨胀。

      • 灰度形态学 = min/max 滤波:理解后能推广到任何空间。

      • 跨章衔接:第 3 章滤波 + 本章形态学 = 图像预处理工具集;第 10 章分割用形态学作为后处理;第 11 章特征提取用形态学。