函数 > 图像处理 > 形态学处理 > 灰度形态
  
灰度形态
gray_close(M, Melem) - 利用结构元素 Melem 实现矩阵 M 上的灰度闭合。
gray_dilate(M, Melem, r_origin, c_origin) - 利用原点在 r_origin 行、c_origin 列的结构元素 Melem,实现矩阵 M 上的灰度扩散。
gray_erode(M, Melem, r_origin, c_origin) - 利用原点在 r_origin 行、c_origin 列的结构元素 Melem,实现矩阵 M 上的灰度腐蚀。
gray_open(M, Melem) - 利用结构元素 Melem 实现矩阵 M 上的灰度开放。
每个函数都返回一个包含形态操作结果的矩阵。
自变量
M 为图像矩阵。
Melem 为结构矢量或矩阵。
r_originc_origin 为整数 (符号表示方向),代表 Melem 的行和列的原点。
gray_erode 函数的详细信息
在二值腐蚀中,结构元素用于定义每个像素周围的邻域 (在此邻域中,如果出现背景像素,则前景会变为背景)。灰度腐蚀是二值腐蚀的扩展,可从输入图像的像素值中减去结构元素的像素值。该输出是结构元素边界内的最小结果像素值。
如果结构元素全为正值,则灰度腐蚀的效果如下:
降低图像的整体亮度
消除图像中比结构元素小的亮区
扩大图像的暗区
如果将灰度图像和结构元素视为在每点的高度为灰度值的曲面,灰度腐蚀将导致输入曲面的高度减小,减小量为结构元素的高度,而小的高特征将完全被腐蚀掉。
处理图像边界时,就如同使用零灰度值对其向外延伸一样,因此,距图像边界的距离比结构元素的大小近的输出像素可能无效。
gray_dilate 函数的详细信息
在二值扩散中,结构元素用于定义每个像素周围的邻域,在此邻域中,任何前景像素的存在都将导致背景变为前景。灰度扩散作为其扩展,输出中的每个像素是通过以下方式生成的:将结构元素旋转 180 度,然后在某个像素上使其居中,并将其像素值添加到输入图像中。输出像素值是结构元素边界内的最大结果像素值。
如果结构元素全为正值,则灰度扩散的效果如下:
增大图像的整体亮度
消除图像中比结构元素小的暗区
扩大图像的亮区
如果将灰度图像和结构元素视为在每点的高度为灰度值的曲面,灰度扩散将导致输入曲面的高度增大,增大量为结构元素的高度,而小的深凹陷区域将完全被填充。
处理图像边界时,就如同使用零灰度值对其向外延伸一样,因此,距图像边界的距离比结构元素的大小近的输出像素可能无效。
gray_open 和 gray_close 函数的详细信息
可使用类似的方法将灰度开放和闭合定义为二值形态中的开放和闭合;开放是先进行灰度腐蚀再进行灰度扩散,而闭合则是先进行灰度扩散再进行灰度腐蚀。请注意,由于扩散时对结构元素进行 180 度旋转,因此,开放和闭合操作相对于结构元素原点而言是不变的。
灰度开放的主要效果是从图像中移除小的亮特征,同时保持整体亮度不变。
灰度闭合的主要效果是从图像中移除小的暗特征,同时保持整体亮度不变。
处理图像边界时,就如同使用零灰度值向外延伸图像一样,因此,距图像边界的距离比结构元素的大小近的输出像素可能无效。