1. 腐蚀 Erosion
A⊝B={z|(B)z⊆A}
B移动
等效于(B)z和A的补集(completement)没有交集:
腐蚀操作会将较B小的部分滤除.
2. 膨胀 Dilation
B的镜像原点在
膨胀操作可以补gap.
膨胀操作和腐蚀互为对偶关系.
3. 开运算 Opening
先腐蚀再膨胀, 可以滤除凸起, 断开狭小的连接线.
等效于B在A内部紧靠A边缘移动, B的轨迹就是开运算结果.
也就是所有在A内部的
4. 闭运算 Closing
A⋅B=(A⨁B)⊝B
先膨胀再腐蚀, 可以连接独立的部分, 填充空洞.
等效于B在A的外部紧靠A边缘移动, 所有包含w的B_z和A交集不为空的点w组成的集合就是闭运算结果.
5. Hit-or-Miss
A⊛B=(A⊝D)⋂[Ac⊝(W−D)]
B表示包含目标D及其背景的集合.
只有当结构元素B与其覆盖的图像区域完全一致时, 才将结果置为1, 否则均为0.
6. 边界提取 Boundary Extraction
β(A)=A−(A⊝B)
原图减去原图的腐蚀.
7. 填充空洞 Hole Filling
Xk=(Xk−1⨁B)⋂Ac,k=1,2,3,...
迭代算法, X0是全0图像, 在空洞处某点为1. 此点位置需要用户预先指定.
8. 提取连接 Extraction of Connected Components
Xk=(Xk−1⨁B)⋂A,k=1,2,3,...
迭代算法, X0是全0图像, 在连接处某点为1. 此点位置需要用户预先指定.
9. 凸包 Convex Hull
凸包是集合的最小凸集.
Xik=(Xk−1⊛Bi)⋃A,i=1,2,3,4, k=1,2,3,...
其中Xi0=A. Bi表示4个不同的结构元素集合.
当以上迭代收敛后, 令Di=Xik, A的凸包为:
C(A)=⋃4i=1(Di)
10. 细化 Thinning
A⨂B=A−(A⊛B)=A⋂(A⊛B)c
原图减去Hit-or-miss.
可以使用一系列的B做细化.
11. 粗化 Thickening
A⨀B=A⋃(A⊛B)
原图和 Hit-or-Miss 的并集.
可以使用一系列的B做粗化.
12. 骨架化 Skeletons
S(A)=⋃Kk=0Sk(A)
其中, Sk(A)=(A⊝kB)−(A⊝kB)∘B
(A⊝kB)表示A做k次腐蚀.
K是腐蚀A成非空集的最大腐蚀次数.
骨架化的结果未必是连通的.
13. 剪枝 Pruning
- 细化, 减掉较短的分支.
- Hit-or-Miss, 检测留下分支的端点.
- 提取连接, 让端点在原图的限制下伸展若干次.
- 1和3的结果求并集.
14. 形态学重建 Morphological Reconstruction
a.测地膨胀 Geodesic dilation
令二值图F是marker, G是mask. 且
D(1)G(F)=(F⨁B)⋂G
且
D(n)G(F)=D(1)G[D(n−1)G(F)]
其中, D(0)G(F)=F
b. 测地腐蚀 Geodesic Erosion
E(1)G(F)=(F⊝B)⋃G
且
E(n)G(F)=E(1)G[E(n−1)G(F)]
其中, E(0)G(F)=F
c. 膨胀形态学重建 Morphological reconstruction by dilation
RDG(F)=D(k)G(F)
D(k)G(F)是测地膨胀的收敛结果.
d. 腐蚀形态学重建 Morphological reconstruction by erosion
REG(F)=E(k)G(F)
E(k)G(F)是测地腐蚀的收敛结果.
e. 重建开运算 Opening by reconstruction
O(n)R(F)=RDF[(F⊝nB)]
F腐蚀n次后再膨胀重建到收敛, 用F做限制
可以完整重现腐蚀后的对象. 比简单开运算优越.
f. 重建闭运算 Closing by reconstruction
C(n)R(F)=REF[(F⨁nB)]
F膨胀n次后再腐蚀重建到收敛, 用F做限制.
可以完整重现膨胀后的对象. 比简单闭运算优越.
g. 自动填洞
定义:
F(x,y)={1−I(x,y)0(x,y)在I的边界上 其他
有:
H=[RDIc(F)]c
不需要指定洞的某一点.
h. 清理边界 Border Clearing
定义:
F(x,y)={I(x,y)0(x,y)在I的边界上 其他
有:
X=I−RDI(F)
此运算可以清理和边缘相连接的对象. 适合文字识别等前处理工作.
15. 总结表格
之前内容
参考Gonzalez《数字图像处理》第三版