【youcans 的 OpenCV 例程200篇】146. 基于灰度形态学的复杂背景图像重建
5.8 灰度形态学图像重建
灰度级形态学重建涉及标记图像 f(x,y) 、模板图像 g(x,y) 和结构元 b; f ≤ g f\le g f≤g,即任一点 f 的灰度比 g 小(暗)。
f 相对于 g 的大小为 n 的测地膨胀定义为:
D
g
(
n
)
(
f
)
=
D
g
(
1
)
[
D
g
(
n
−
1
)
(
f
)
]
D^{(n)}_g (f) = D^{(1)}_g [D^{(n-1)}_g (f)]
Dg(n)(f)=Dg(1)[Dg(n−1)(f)]
灰度标记图像 f 对灰度模板图像 g 的膨胀形态学重建,定义为 f 相对于 g 的测地膨胀反复迭代直至达到稳定:
R
g
D
(
f
)
=
D
g
(
k
)
(
f
)
R^D_g (f) = D^{(k)}_g (f)
RgD(f)=Dg(k)(f)
灰度图像重建开运算,首先腐蚀输入图像,然后将腐蚀后的图像作为标记图像、将图像本身作为模板。图像 f 的大小为 n 的重建开运算定义为,先对 f 进行大小为 的腐蚀,再进行膨胀,即:
O
R
(
n
)
(
f
)
=
R
f
D
(
f
⊖
n
b
)
O^{(n)}_R (f) = R^{D}_f (f \ominus nb)
OR(n)(f)=RfD(f⊖nb)
重建开运算的目的是包含腐蚀后留下的图像分量的形状。
例程 10.37:基于灰度形态学的复杂背景图像重建
说明:本例取自 Rafael C. Gonzalez “Digital Image Processing, 4th.Ed.” 中的 例9.11(P494,电子工业出版社),特此致谢。
本例程采用灰度形态学方法处理复杂背景下的图像重建,以实现在一致灰度背景下保留文本。处理步骤如下:
(1)首先通过重建开运算,抑制按键顶部的水平反射。图像中的反射比字符宽,可以使用适当长度的水平结构元(71像素)进行开运算来实现。程序中对正常开运算和重建开运算的不同效果进行了比较。
(2)其次对重建开运算的结果进行顶帽运算,从原图像中删除水平反射和变化的背景。
(3)然后再通过重建开运算,删除按键边缘的垂直反射,此时使用宽度为 11 像素的结构元。这一过程抑制了垂直反射,但也细化了一些竖线字符(如SIN中的 I),需要对竖线字符的细化进行恢复。
(4)对重建图像进行水平膨胀,膨胀后的字符与被抑制字符所占的区域重叠。
(5)对水平膨胀图像和顶帽运算图像按位与,即逐点求最小值,复原被抑制的字符,但仍有竖线字符被细化。
(6)以按位与图像作为标记,用重建顶帽图像作模板,进行膨胀重建,得到最终的形态学重建图像。重建图像的背景灰度比较均匀,消除了光线的反射和按键的背景,而所有的字符都已从原图像的不规则背景中提取出来。
说明:
(1)本例程的问题及图片来自 Rafael C. Gonzalez “Digital Image Processing, 4th.Ed.”。
(2)原著(包括英文版和中文版)中的方法说明存在一些错漏,请读者阅读时多加注意。
(3)或许与原著中的方法说明有误相关,作者在网络上找到的关于该案例的文章,经作者验证都存在问题。
(4)本案例的步骤通过程序进行了验证,运行结果也附在文后,供读者参考和对照。本例程暂未公开,有兴趣的读者可以在评论区留下邮箱地址,作者可以单独提供源程序。
6. 形态学小结
数学形态学是一门建立在集论基础之上的学科,是几何形状分析和描述的有力工具。
近年来形态学在数字图像处理、计算机视觉与模式识别等领域中得到了越来越广泛的应用,逐渐成为一种新的数字图像分析方法和理论。
(1)形态学运算本质上是二维卷积运算,当图像尺寸较大时的运算速度很慢,不适合实时图像处理。
(2)结构元素对形态运算的结果具有决定性的作用,因此要结合实际应用的需求和图像的特征,合理选择结构元素的大小与形状。
(本节完)
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/123898276)
Copyright 2022 youcans, XUPT
Crated:2022-3-31