0.原始图像
47-53.图像形态学操作
一系列操作基于形状来操作图像,形态学操作通过在图像上应用结构元素来产生输出图像。改变物体的形状,比如腐蚀就是“变瘦”,膨胀就是“变胖”。包括膨胀与腐蚀在内,一系列的这两者各种叠加作用的操作都称为图像的形态学操作。
最基础的形态学操作就是腐蚀和膨胀。它包含广泛的应用:
1.移除噪声
2.孤立一些单独的元素和聚合一些分散的元素
3.找到图像中的局部块状或者孔
47.膨胀
使用卷积核B对图片A进行卷积运算,求局部最大值,这个卷积核可以有任意的形状和大小,通常是一个方形或者圆形。卷积核B通常有个锚点,通常位于卷积核的中央位置。
随着卷积核扫描这个图像,我们计算叠加区域的最大像素值,并将锚点的位置用最大值替换。也就是最大化操作导致图片中亮的区域增长(所以这里面叫做膨胀)。
在实际的形态学处理中,将图像二值化后,可将待操作的像素的4-近邻与卷积核B相乘,若结果大于等于255,则将该像素设为255。卷积核B形式如下:
二值化后的图像:
膨胀:
48.腐蚀
腐蚀是求局部最小值的操作。腐蚀与膨胀类似,计算卷积核里面的最小元素。
随着卷积核B扫描图片,它会计算B叠加区域的最小像素值,并使用这个像素值替换锚点的值。与膨胀相似,对原始的图像应用腐蚀操作。可以看到背景亮的区域变小,而黑的区域变得很大。
腐蚀:
注意:腐蚀与膨胀都是针对白色连通域而言的,而非黑色连通域
49.开运算
开运算的具体实现:通过先进行N次腐蚀操作,再进行N次膨胀操作得到。在移除小的对象时候很有用(假设物品是亮色,前景色是黑色),被用来去除噪声。
以下图二值图像为例:
左侧是原始图像,右侧是应用开运算之后的图像。我们可以看到左侧图像小的黑色空间被填充消失,所以开运算可以进行白色的孔洞填补。因为可以想象,我们先将黑色区域变大,然后填充部分白色区域,白色小区域这时就会被抹去,然后膨胀再将黑色区域变回,但是抹去的部分会消失,则会达到下面的效果
开运算后(time=1)
50 闭运算
闭运算先进行膨胀然后进行腐蚀操作。通常是被用来填充前景物体中的小洞,或者抹去前景物体上的小黑点。因为可以想象,其就是先将白色部分变大,把小的黑色部分挤掉,然后再将一些大的黑色的部分还原回来,整体得到的效果就是:抹去前景物体上的小黑点了。
canny边缘检测后:
闭运算后(time=1):能够将中断的白色像素连接起来(填充黑洞)
开闭运算总结:
开运算可以去除二值化图像中残存的小块白色连通域,闭运算可以填充黑洞,使小块白色连通域轮廓增强同时连接离散的小块白色连通域
51.形态学梯度
梯度用于刻画目标边界或边缘位于图像灰度级剧烈变化的区域,形态学梯度根据膨胀或者腐蚀与原图作差组合来实现增强结构元素领域中像素的强度