第九章:形态学图像处理

目录

1 基础知识

2 膨胀和腐蚀

2.1 腐蚀

2.2 膨胀

3 开操作和闭操作

4 击中或击不中变换

5 —些基本的形态学算法

5.1 边界提取

5.2 孔洞填充

5.3 连通分量的提取

5.4 凸壳

5.5 细化

5.6 粗化

5.7 骨架

6 灰度级形态学

6.1 腐蚀和膨胀

 6.2 开操作和闭操作


1 基础知识

数学形态学的语言是集合论。它为大量的图像处理问题提供了一种一致的有力方法。数学形态学中的集合表示图像中的不同对象。

例如,在一幅二值图像中所有黑色像素的集合是图像完整的形态学描述。

在二值图像中,正在被讨论的集合是二维整数空间(z^2)的元素,在这个二维整数空间中,集合的每个元素都是一个多元组,是一个黑色(或白色,取决于事先约定)像素在图像中的坐标(x,y)。

我们需要两个能广泛应用于形态学的附加定义集合B的反射,表示为\widehat{B},定义为:\widehat{B}=\left \{ w|w=-b,b\in B \right \}集合A平移到点z=(z_1,z_2),表示为(A)_z,定义为:(A)_z=\left \{ c|c=a+z,a\in A \right \}

2 膨胀和腐蚀

膨胀和腐蚀是许多形态学算法的基础

2.1 腐蚀

对Z中的集合A和B,使用B对A进行腐蚀,定义为:

A\ominus B=\left \{ z|(B)_z\subseteq A \right \}

图2.1  B对A的腐蚀

2.2 膨胀

由于A和B是定义在Z^2中的集合,A被B膨胀定义为:

A\bigoplus B=\left \{ z|(\widehat{B})_z\cap A\neq \oslash \right \}

也可写成:

A\bigoplus B=\left \{ z|[(\widehat{B})_z\cap A]\in A \right \}

集合B通常叫做膨胀的结构元

图2.1  B对A的膨胀

3 开操作和闭操作

开操作和闭操作是另外两种重要的形态学操作。

开操作一般使对象的轮廓变得光滑。断开狭窄的间断和消除细的突出物。闭操作同样使轮廓线更为光滑,但与开操作相反的是,它通常连接狭窄的间断是长细的鸿沟,消除小的孔洞,并填补轮廓线中的断裂。

使用结构元素B对集合A进行开操作,定义为:(先腐蚀再膨胀)

 相当于B在A中的平移的并集的结果。如图3.1所示

图3.1  开操作(先腐蚀再膨胀)

使用结构元素B对集合A进行闭操作,定义为:(先膨胀再腐蚀)

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

相当于在边界的外部转动B。 

图3.2  闭操作(先膨胀再腐蚀)

4 击中或击不中变换

形态学中的击中或击不中变换时形状检测的基本工具。

令每种形状的重心为它的原点。设X被包围在一个小窗口W中,与W有关的X的局部背景定义为集合的差(W-X)。

如果B表示由X和X的背景构成的集合,则在A中对B进行的匹配(或匹配操作的集合)表示为:

A\circledast B=(A\circleddash D)\cap [A^C\circleddash (W-D)]

找出D原点的位置如下图所示。 

图4.1  击中变换

5 —些基本的形态学算法

5.1 边界提取

集合A的边界表示为β(A),它可以通过先由B对A腐蚀,而后用A减去腐蚀得到,即:

\beta (A)=A-(A\circleddash B)

图5.1.1 边界提取

5.2 孔洞填充

如图所示,A表示一个包含子集的集合,其子集的元素均是区域的8连通边界点。目的是从边界内的一个点开始,用1填充整个区域。我们采用:所有非边界(背景)点标记为0,则以将1赋给p点开始。下列过程将整个区域用1填充:

\begin{matrix} X_k=(X_{k-1}\oplus B)\cap A^C & k=1,2,3,... \end{matrix}

图5.2.1  孔洞填充

5.3 连通分量的提取

实际上,在二值图像中提取连通分量是许多自动图像分析应用中的核心任务。令Y表示一个包含于集合A的连通分量,并且假设Y中的一个点p是已知的。而后,用下列的迭代表达式生成Y的所有元素:

X_k=(X_{k-1}\oplus B)\cap A\begin{matrix} & k=1,2,3,... \end{matrix}

5.4 凸壳

如果在集合A内连接任意两个点的直线段都在A的内部,则称集合A是凸形的。任意集合S的凸壳H是包含于S的最小凸集。集合差H-S称为S的凸缺。凸壳和凸缺对于物体描绘是很有用的。这里,我们介绍一种获得集合A 的凸壳C(A)的简单形态学算法。
B^i ,i= 1,2,3,4表示中的4个结构元。这个过程可通过执行下式实现:

X_k^i=(X_{k-1}\circledast B^i)\cup A\begin{matrix} & i/k=1,2,3,... \end{matrix}

5.5 细化

结构元B对集合A 的细化可表示为A\otimesB,它可以根据击中或击不中变换来定义:

A\otimes B=A-(A\circledast B)=A\cap (A\circledast B)^C

5.6 粗化

粗化是细化的形态学对偶,定义如下:

A\cdot B=A\cup (A\circledast B)

其中B是适合于粗化处理的结构元。与细化一样,粗化处理也可以定义为一个系列操作:

A\bigodot {B}=((...((A\bigodot B^1)\bigodot B^2)...)\bigodot B^n)

5.7 骨架

集合A的骨架S(A)的概念直观上相当简单。可以推出:

  • (a)如果z是S(A)的一个点,并且(D)_z,是A内以z为中心的最大圆盘,则不存在包含(D)_z,且位于A内的更大圆盘(不必以z为中心)。圆盘(D)_z,称为最大圆盘。
  • (b)圆盘(D)_z在两个或多个不同的位置与A的边界接触。

6 灰度级形态学

f(x,y)和b(x,y)为两个二位数字函数。f(x,y)表示一幅灰度级图像,b(x,y)表示结构元。灰度级形态学中的结构元分为两类:非平坦或平坦的结构元。

6.1 腐蚀和膨胀

当b的原点位于(x,y)处时,用一个平坦的结构元b在(x, y)处对图像f的腐蚀定义为图像f中与b重合区域的最小值。以公式的形式,结构元素b对一幅图像f在位置(x, y)处的腐蚀由下式给出:

[f\circleddash b](x,y)=min_{s,t\in b}{f(x+s,y+t)}

 6.2 开操作和闭操作

灰度级图像的开操作和闭操作的表达式,与二值图像的对应操作具有相同的形式。结构元b对图像f的开操作表示为f○b,即

像之前那样,开操作先只用b对f做腐蚀,随后用b对所得结果做膨胀。类似地,b对f的闭操作表示为f●b,即

灰度级图像的开操作和闭操作关于函数的补集和结构元的反射是对偶的: 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值