第九章 形态学图像处理
- 掌握形态学腐蚀和膨胀的基本原理和用法,开运算闭运算的原理和用法。
- 了解形态学的击中,击不中变换。
- 理解形态学重构的基本原理,填充空洞的方法。
概述
- 基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到对图像分析和识别的目的
- 形态学图像处理的数学基础和所用语言是集合论
- 形态学图像处理的基本运算有:
- 膨胀和腐蚀
- 开操作和闭操作
集合论基础知识
设A为
Z
2
Z^{2}
Z2中的一个集合,
a
=
(
a
1
,
a
2
)
a=(a1,a2)
a=(a1,a2)是A的元素,记为
a
∈
A
a\in A
a∈A否则,
a
∉
A
a\notin A
a∈/A
二值图像的逻辑运算
二值图像的空间变换
结构元素
膨胀和腐蚀:产生滤波器作用(结构元在边缘游走)
腐蚀
设A为
Z
2
Z^{2}
Z2中的一个集合,A被结构元素B腐蚀定义为B的中心点位移的集合
A
⊖
B
=
{
z
∣
(
B
)
z
∩
A
c
=
∅
}
A \ominus B=\left\{z \mid(B)_{z} \cap A^{c}=\varnothing\right\}
A⊖B={z∣(B)z∩Ac=∅}
还可以写成
A
⊖
B
=
{
z
∣
(
B
)
z
⊆
A
}
A \ominus B=\left\{z \mid(B)_{z} \subseteq A\right\}
A⊖B={z∣(B)z⊆A}
使用对象轮廓平滑,断开狭窄的间断、消除细的凸出物,去除小亮点(相当于结构元素)----“减”
B对A的腐蚀是一个用z平移的B包含在A中的所有点z的集合
B必须包含在A中 等价于B不与A的背景共享任何元素
膨胀
A、B是
Z
2
Z^{2}
Z2中的一个集合,A被结构元素B膨胀定义为B的中心点位移的集合
A
⊕
B
=
{
z
∣
(
B
^
)
z
∩
A
≠
∅
}
A \oplus B=\left\{z \mid(\hat{B})_{z} \cap A \neq \varnothing\right\}
A⊕B={z∣(B^)z∩A=∅}
还可写成
A
⊕
B
=
{
z
∣
[
(
B
^
)
z
∩
A
]
⊆
A
}
A \oplus B=\left\{z \mid\left[(\hat{B})_{z} \cap A\right] \subseteq A\right\}
A⊕B={z∣[(B^)z∩A]⊆A}
使轮廓平滑,融联狭窄间断和长细的深沟,消除小孔洞,填补轮廓线的断裂。----“加”
这个公式是以B关于它的原点的映像,并且以z对映像进行平移为基础。B对A的膨胀时所有位移z的集合,这样 B ^ \hat{B} B^和A至少有一个元素是重叠的。
腐蚀与膨胀的对偶性
证明
开操作和闭操作:产生滤波器作用(结构元在滚)
开操作(结构元B在里面滚)
A
∘
B
=
(
A
⊖
B
)
⊕
B
A \circ B=(A \ominus B) \oplus B
A∘B=(A⊖B)⊕B
A
∘
B
=
⋃
{
(
B
)
z
∣
(
B
)
z
⊆
A
}
A \circ B=\bigcup\left\{(B)_{z} \mid(B)_{z} \subseteq A\right\}
A∘B=⋃{(B)z∣(B)z⊆A}
闭操作(结构元B在外面滚)
A
⋅
B
=
(
A
⊕
B
)
⊖
B
A \cdot B=(A \oplus B) \ominus B
A⋅B=(A⊕B)⊖B
性质:
(1)
A
∘
B
A \circ B
A∘B是A的子集合
(2)如果C是D子集,则
C
∘
B
C\circ B
C∘B是
D
∘
B
D \circ B
D∘B子集
(3)
(
A
∘
B
)
∘
B
=
A
∘
B
(A \circ B)\circ B=A\circ B
(A∘B)∘B=A∘B
同样:
(1)A是
A
⋅
B
A \cdot B
A⋅B的子集
(2)如果C是D子集,则
C
⋅
B
C\cdot B
C⋅B是
D
⋅
B
D \cdot B
D⋅B子集
(3)
(
A
⋅
B
)
⋅
B
=
A
⋅
B
(A \cdot B)\cdot B=A\cdot B
(A⋅B)⋅B=A⋅B算子应用一次后,再用也无变化
击中或击不中变换
包含两种情况
C>D 和E<D
以上三个公式称为形态学击中击不中变换
形态学的主要应用:
基本的形态学操作——边界提取:
β
(
A
)
=
A
−
(
A
⊖
B
)
\beta(A)=A-(A \ominus B)
β(A)=A−(A⊖B)
基本的形态学操作——孔洞填充:
X
k
=
(
X
k
−
1
⊕
B
)
∩
A
k
k
=
1
,
2
,
3
,
.
.
.
X_{k}=(X_{k-1}\oplus B) ∩ A^{k}\quad k=1,2,3,...
Xk=(Xk−1⊕B)∩Akk=1,2,3,...
基本的形态学操作——连通分量的提取
通过以下迭代公式可以从联通图案的一个已知点得到整个联通图案
X
k
=
(
X
k
−
1
⊕
B
)
∩
A
k
=
1
,
2
,
3
,
.
.
.
X_{k}=(X_{k-1}\oplus B) ∩ A\quad k=1,2,3,...
Xk=(Xk−1⊕B)∩Ak=1,2,3,...
x
0
=
p
x_{0}=p
x0=p,B为结构元素,如果
X
k
>
X
k
−
1
X_{k}>X_{k-1}
Xk>Xk−1算法收敛,令
Y
=
X
k
Y=X_{k}
Y=Xk
基本的形态学操作——凸壳
如果集合A内连接任意两个点的连线都在A内,则称集合A是凸的。
任意集合S的凸壳H是包含于S的最小凸集。
基本的形态学操作——细化
基本的形态学操作——粗化
灰度级形态学
扩展到灰度图像的基本操作(膨胀、腐蚀、开操作和闭操作——>基本形态学算法),一下讨论设
f
(
x
,
y
)
f(x,y)
f(x,y)是图像,而
b
(
s
,
t
)
b(s,t)
b(s,t)是结构元素。
灰度级形态学——膨胀
用b对f进行的灰度膨胀表示为:
用平坦结构元素b,公式简化为:
[
f
⊕
b
]
(
x
,
y
)
=
m
a
x
(
s
,
t
)
∈
b
f
(
x
−
s
,
y
−
t
)
[f\oplus b](x,y)=max_{(s,t)\in b}{f(x-s,y-t)}
[f⊕b](x,y)=max(s,t)∈bf(x−s,y−t)
对灰度图像进行膨胀,结果是双重的:
(1)如果所有元素为正,输出图像变亮
(2)暗的细节全部或部分被减少或消除取决于结构元素
灰度级形态学——腐蚀
用平坦结构元素b,公式简化为:
[
f
⊖
b
]
(
x
,
y
)
=
m
i
n
(
s
,
t
)
∈
b
f
(
x
+
s
,
y
+
t
)
[f\ominus b](x,y)=min_{(s,t)\in b}{f(x+s,y+t)}
[f⊖b](x,y)=min(s,t)∈bf(x+s,y+t)
也是双重的
(1)如果所有结构元素为正,输出图像变暗
(2)在输入图像中,亮的细节的面积,比结构元素面积小,则亮的被消弱
消弱程度取决于亮细节周围的灰度值和结构元素本身
灰度级形态学——开操作和闭操作
图像平滑先开后闭
灰度级形态学——梯度
对边缘方向性依赖小
灰度级形态学——顶帽变换(Top-hat)
对于增强阴影的细节有用:纹理分割