第九章:形态学图像处理 1、图像的腐蚀和膨胀是两个基本的形态学操作,利用一些基于腐蚀和膨胀的形态学算法如边界提取、孔洞填充、凸壳、细化、骨架、裁剪等,可以从输入的图像中,输出感兴趣的特征。 |
集合论:集合的并、交、补、差、平移、反射
>> f1 = imread('Fig0903(a)(utk).tif');
>> f2 = imread('Fig0903(b)(gt).tif');
>> g1 = ~f1;
>> g2 = f1|f2;
>> g3 = f1&f2;
>> g4 = f1&~f2;
>> subplot(161) ,imshow(f1)
>> subplot(162) ,imshow(f2)
>> subplot(163) ,imshow(g1)
>> subplot(164) ,imshow(g2)
>> subplot(165) ,imshow(g3)
>> subplot(166) ,imshow(g4)
结构元SE : strel
腐蚀:使图像缩小 A和B是两个集合,A被B腐蚀定义为:
应用:消除图像细节部分,产生滤波作用
膨胀:使图像扩大 A和B是两个集合,A被B膨胀定义为
上式1表示:B的反射进行平移与A的交集不为空
B的反射:相对于自身原点的映象
B的平移:对B的反射进行位移
对偶性:
膨胀和腐蚀彼此关于集合求补运算和反运算是对偶的:
开操作:使图像的轮廓变得光滑,断开狭窄 的间断和消除细的突出物
Ø 使用结构元素B对集合A进行开操作,定义为:
含义:先用B对A腐蚀,然后用B对结果膨胀
闭操作:同样使图像的轮廓变得光滑,但与开操作相反,它能消除狭窄的间断和长细的鸿沟,消除小的孔洞,并填补轮廓线中的裂痕
Ø 使用结构元素B对集合A进行闭操作,定义为:
含义:先用B对A膨胀,然后用B对结果腐蚀
应用:指纹
Ü a图是受噪声污染的指纹二值图像,噪声为黑色背景上的亮元素和亮指纹部分的暗元素 ü b图是使用的结构元素 ü c图是使用结构元素对图a腐蚀的结果:黑色背景噪声消除了,指纹中的噪声尺寸增加 ü d图是使用结构元素对图c膨胀的结果:包含于指纹中的噪声分量的尺寸被减小或被完全消除,带来的问题是:在指纹纹路间产生了新的间断 ü e图是对图d膨胀的结果,图d的大部分间断 被恢复,但指纹的线路变粗了 ü f图是对图e腐蚀的结果,即对图d中开操作的闭操作。最后结果消除了噪声斑点 ü 缺点:指纹线路还是有缺点,可以通过加入限制性条件解决 |
1、边界提取
定义:
上式表示:先用B对A腐蚀,然后用A减去腐蚀得到,B是结构元素
应用:
1表示为白色,0表示为黑色
2、孔洞填充
定义:
(寻找背景点)
X0=p,如果Xk=Xk-1,则算法在迭代的第k步结束。Xk 和A的并集包含被填充的集合和它的边界
条件膨胀:如果对上述公式的左部不加限制,则 上述公式的膨胀将填充整个区域。利用Ac的交集将结果限制在感兴趣区域内,实现条件膨胀
应用:
3、连通分量提取
定义:令Y表示一个包含于集合A中的连通分量,并假设Y中的一个点p是已知的。用下列迭代式生成Y的所有元素:
(寻找前景点)
x0=p,如果Xk=Xk-1,算法收敛,令Y=Xk
应用:自动检测
4、凸壳
用处:对物体描绘有帮助;
ü 如果连接集合A内任意两个点的直线段都在A的内部,则A是凸形的
ü 集合S的凸壳H是包含S的最小凸集合
ü H-S称为S的凸缺
ü 求取集合A的凸壳C(A)的简单形态学算法:
令Bi表示4个结构元素,i=1,2,3,4,
A的凸壳为
ü 先对A用B1运用击中或击不中变换,反复使用,当不再发生变化时,执行与A的并集运算,用D1表示结果
ü 上述过程用B2重复,直到不发生变化。
ü 最后得到的4个D的并集组成了A的凸壳
(x表示不考虑)
上述过程的一个明显缺点是:凸壳可能超出确保凸性所需的最小尺寸
ü 解决办法:限制生长
1>限制水平和垂直方向上的尺寸大小,如下图所示。
2>限制水平、垂直和对角线方向上的最大尺寸。缺点是增加了算法的复杂性
5、细化
定义:
ü 细化过程根据击中或击不中变换定义
ü 定义结构元素序列为
Bi是Bi-1旋转后的形式,如在B4中旋转900
ü 用结构元素序列定义细化为
即连续使用B1,B2,…,Bn对A细化
6、粗化
ü 粗化和细化在形态学上是对偶过程,定义为
ü 用结构元素序列定义粗化为
即连续使用B1,B2,…,Bn对A粗化
ü 粗化可以通过细化算法求补集实现:先对所讨论集合的背景进行细化,然后对结果求
补集,即粗化可以通过细化算法求补集实现: 为了对集合A进行粗化,先令C=Ac,然后对C进行细化,最后形成Cc
7、骨架
集合A的骨架符号为S(A),A的骨架可用腐蚀和开操作来表达
其中:
B:结构元素 为对A,k次腐蚀
第K次是A被腐蚀为空集前最后一次迭代
还可以重构
这种方法的实质是细化可以抽于其“骨架”,但并不能延伸到边缘通过找到端点并对其进行有限制的膨胀,可恢复细化失去的有用的端线(点),从而去掉那些无用的分支。
重构:8、裁剪(后处理)
对细化处理和骨架绘制算法的补充,因为这些处理过程会将附加部分保留下来,应请除干净。
现在想去除寄生分量(毛刺)的多余部分。
可分4步来完成:
(1) 令
其中B为{B1,B2,B3,...B8},Bi为Bi-1转90°得到;
(2)取X1端点集合X2
用来检测端点的结构元素;
(3)端点三次膨胀,并用A作限定器
H为{x}结构元素,值为1
(4)计算
例如手写字体识别字母a的处理:
9、形态学重建
前面都是一幅图像和一个结构元;这里涉及两幅图像和一个结构元;
【测地腐蚀和膨胀】
F:标记图像;G:模板图像;(假设F、G二值图),且F⊆G.
测地膨胀:
测地腐蚀:
【用膨胀和腐蚀的形态学重建】
标记图像F对模板图像G的膨胀形态学重建表示为(被定义为F关于G的测地膨胀),反复迭代至稳定状态:
模板图像G对标记图像F的腐蚀形态学重建表示为(被定义为F关于G的测地腐蚀),反复迭代至稳定状态:
【应用】
1>重建开操作:来自F的大小为n的腐蚀的F的膨胀重建
eg:从一个文本图像中提取长的、垂直笔画的字符;
2>填充孔洞
3>边界清除
10、二值图像形态学操作小结
灰度级形态学
代码练习:
http://www.cnblogs.com/tornadomeet/archive/2012/03/20/2408086.html
对应图片下载