简单的图像处理——2. 图像的形态学操作:开运算与闭运算

1. 回顾

简单的图像处理——1. 图像的形态学操作:膨胀与腐蚀 中,我们介绍了图像基本的形态学操作——膨胀腐蚀,同时也利用了Python进行了实现。在这里我们将接着上次的内容,接着描述其它的一些图像形态学操作方法,以及相应的Python实现。

下面我们同样以这只小鸟为例,来看看图像其它的形态学算法。
这里写图片描述


2. 图像的开运算

开运算的具体实现:通过先进行腐蚀操作,再进行膨胀操作得到。我们在移除小的对象时候很有用(假设物品是亮色,前景色是黑色),被用来去除噪声

我们先以二值图为例,其如下所示。左侧是原始图像,右侧是应用开运算之后的图像。我们可以看到左侧图像小的黑色空间被填充消失,所以开运算可以进行白色的孔洞填补。因为可以想象,我们先将黑色区域变大,然后填充部分白色区域,白色小区域这时就会被抹去,然后膨胀再将黑色区域变回,但是抹去的部分会消失,则会达到下面的效果。


而对于彩色图而言,则是将一些小的偏白色孔洞或者区域用周围的颜色进行填补,整体的图像也会模糊化,宛如一幅水彩画。

下面分别是卷积核为10与50像素开运算处理后的效果,可以发现眼部与羽毛中的白色部分均被填充,地面上的气泡也接近模糊消失了。

这里写图片描述
这里写图片描述


3. 图像的闭运算

闭运算是开运算的一个相反的操作,具体是先进行膨胀然后进行腐蚀操作。通常是被用来填充前景物体中的小洞,或者抹去前景物体上的小黑点。因为可以想象,其就是先将白色部分变大,把小的黑色部分挤掉,然后再将一些大的黑色的部分还原回来,整体得到的效果就是:抹去前景物体上的小黑点了。

二值图进行闭运算则会是如下的效果,左侧是原图,右侧是进行闭运算之后的图。


下面分别是卷积核为10与50像素闭运算处理后的效果,可以发现左眼的黑色部分变小了,以及双腿在大卷积核进行处理时,直接会消失,这是由于因为腿比较细。然后图像整体会变白一些。

这里写图片描述
这里写图片描述

而开闭运算直接的抹除小区域的体现如下:
这里写图片描述

后面我们会继续介绍图像的形态学梯度以及顶帽变换与底帽变换。

猜你喜欢

转载自blog.csdn.net/weixin_41929524/article/details/81232575