常用的形态学操作包括:腐蚀、膨胀、开运算、闭运算。其中,开运算是先腐蚀在膨胀,用来消除背景中的噪点;闭运算是先膨胀再腐蚀,用来消除目标中的噪点。在图像处理中我们经常需要这些操作,比如二值处理后,我们的目标区域往往不仅包含噪点,本身也可能相互之间没有连通,这时候适当的形态学处理可以修复目标或者消除噪点,那么腐蚀还是膨胀,两个都用先后顺序如何?都需要进行对比分析。
相关函数为:
{腐蚀,膨胀}:cv2.erode(),cv2.dilate(),传递的参数为:img,kernel,iterations分别代表源图像,卷积核,以及相应处理的次数
形态学往往是针对二值图处理,往往视白色为目标,黑色为背景。
腐蚀,会使得白色区域缩小,处理过程:将卷积核依次沿着图像移动,判断卷积核对应的原图,若该范围内所有像素值为1,则中心元素保持原来的像素值,否则变为0。在处理中,往往用在1)去掉背景(黑色)中的噪点(小白点),2)可以使原本连通在一起的白色区域相互隔开,视效果选择最佳的迭代次数。
腐蚀效果:分别选择不同的kernel,相同迭代次数以及不同迭代次数和相同kernel。
通常kernel选择为(3*3)或者(5*5),