形态学一般是使用二值图像,进行边界提取,骨架提取,孔洞填充,角点提取,图像重建等等。常用的形态学操作时腐蚀与膨胀,在他们的基础上演变出一些变体,包括开运算、闭运算、梯度等等。形态学一般是对二值图像进行的操作。
下面贴几个比较好的介绍图像形态学方面的博客
图像处理基本算法-形态学
图像的形态学处理
(一)腐蚀
关于腐蚀就是将图像的边界腐蚀掉,或者说使得图像整体上看起来变瘦了。它的操作原理就是卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是1,那么中心元素保持原来的值,否则就变为0。这对于去除白噪声很有用,也可以用于断开两个连载一起的物体。一个例子如下:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('man.jpg',0) #直接读为灰度图像
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(img,kernel,1)
plt.subplot(1,2,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr
plt.subplot(1,2,2),plt.imshow(erosion,'gray')