我们来看一下形态学算子,一般情况下形态学处理的都是二值图像。这样效果才明显。腐蚀和膨胀是最基本的形态学算子。在数学形态学中最基本的一个工具就是结构元素(structuring element)。结构元素就相当于我们在滤波中所涉及到的模板,也就是说它是一个给定像素的矩阵,这个矩阵可以是任意形状的,但是一般情况下都是正方形,圆形或者菱形的但是在结构元素中有一个中心点(也叫做anchor point)。和模板中心一样,处理后的结果赋值给和这个中心点对齐的像素点。处理的过程也是基本相同。
结构元素和卷积模板的区别在于,膨胀是以集合运算为基础的,卷积是以算数运算为基础的。
膨胀:
1. 用结构元素,扫描图像的每一个像素
2. 用结构元素与其覆盖的二值图像做“与”操作
3. 如果都为0,结果图像的该像素为0。否则为1
也就是在结构元素覆盖范围下,只要有一个像素符和结构元素像素相同,那么中心点对应点就为1,否则为0,下面是一个例子,其中心点为(3, 3);
腐蚀:
1. 用结构元素,扫描图像的每一个像素
2. 用结构元素与其覆盖的二值图像做“与”操作
3. 如果都为1,结果图像的该像素为1。否则为0
也就是查找被处理图像中能不能找到和结构元素相同的矩阵。如果存在那么中心点所对应的点就为1,否则为0.,下面是一个例子,其中心点为(2, 2);
注意膨胀和腐蚀操作并不是互逆的操作,它们两个的先后运算得出了另外两种运算:开运算和闭运算·
1. 开操作是先腐蚀、后膨胀处理。
2. 闭操作是先膨胀、后腐蚀处理。
这个处理大家自己去做实验吧。