膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。通过膨胀,可以填充图像中的小孔及在图像边缘处的小凹陷部分。结构元素B对图像A进行膨胀,记作A
腐蚀和膨胀是对偶操作。腐蚀是一种消除边界点,使边界向内部收缩的过程。利用腐蚀操作,可以消除小且无意义的物体。集合A被结构元素B腐蚀,记作AB
这里为了简化起见,被膨胀和腐蚀图像我们处理成二值图像:
matlab 中
膨胀函数 IM2 = imdilate(IM,SE) 对图像IM进行膨胀,采用的结构元素为SE,SE为函数strel()得到的结构元素
腐蚀函数 IM2 = imerode(IM,SE) 对图像IM进行腐蚀,其他同上
以膨胀为例代码如下:
strel结构元素说明:
Examples
--------
se1 = strel('square',11) % 11-by-11 square
se2 = strel('line',10,45) % line, length 10, angle 45 degrees
se3 = strel('disk',15) % disk, radius 15
se4 = strel('ball',15,5) % ball, radius 15, height 5
注意:这里球形结构元素不能用于膨胀操作,腐蚀操作类似,只需要修改imdilate函数为imerode函数
程序执行后输出如下: