OpenCV-Python教程:14.形态变换
原理
形态变换是根据图片的形状进行的简单运算。一般被用在二值图像上。它需要两个输入,一个是我们的原始图片,另一个是被叫做结构元素或者是核,用来决定运算的类型。两个基本的形态运算是腐蚀和Dilation.其他的变形如开,合,梯度等也会有。我们来看看他们在下面这张图上的表现。

1. 腐蚀
腐蚀的基本理念就和土壤腐蚀一样,它会腐蚀掉前景的边缘(所以前景应该用白色)。核腐蚀掉图片。原始图片里的一个像素(1或者0)只有在核下的所有像素都是1的时候才被认为是1.否则它就被腐蚀掉了(变成0)
根据核的大小来决定在边界附近的多少像素会被丢弃掉,所以前景物体的厚度或大小会缩小,或者说白色区域会减小。这个在移除小的白色噪点时很有用。
在下面的例子里,我用给一个5x5的核,来看看如何工作的:
import cv2
import numpy as np
img = cv2.imread('j.png',0)
kernel = np.ones((5,5), np.uint8)
erosion = cv2.erode(img