结构化元素
形态膨胀和侵蚀操作的一个基本部分是用于探测输入图像的结构元素。结构化元素是一个矩阵,它标识正在处理的图像中的像素,并定义在每个像素的处理中使用的邻域。通常选择与输入图像中要处理的对象相同大小和形状的结构元素。例如,要在图像中找到线条,可以创建一个线性结构元素。
有两种类型的结构元素:平而且nonflat.平面结构元素是一个二元值邻域,可以是二维的,也可以是多维的,其中真像素包含在形态计算中,而假像素不包含在形态计算中。结构元素的中心像素,称为起源,表示正在处理的图像中的像素。使用strel
功能来创建一个平面结构元素。您可以对二进制和灰度图像使用平面结构元素。下图说明了一个平面结构元素。
非平面结构元素是类型矩阵双
它标识正在处理的图像中的像素,并定义处理该像素时使用的邻域。非平面结构单元包含在形态计算中用作加性偏移的有限值。矩阵的中心像素,称为起源,表示正在处理的图像中的像素。值附近的像素负
在计算中不使用。使用offsetstrel
函数创建非平面结构元素。只能对灰度图像使用非平面结构元素。
确定结构元素的起源
形态函数使用此代码来获得任何大小和维度的结构元素的原点坐标:
原点=地板((尺寸(n罩)+1)/2)
在哪里nhood
是定义结构元素的邻域。若要查看平面结构元素的邻域,请查看社区
的属性strel
对象。要查看非平面结构元素的邻域,请查看抵消
的属性offsetstrel
对象。
例如,下面说明了一个扁平的菱形结构元素的起源。
结构元素分解
为了提高性能,可以使用strel
而且offsetstrel
函数可以将结构元素分解成更小的块,这种技术称为构造元素分解.
例如,通过先用1 × 11的结构单元进行膨胀,然后再用11 × 1的结构单元进行膨胀,可以实现用11 × 11的正方形结构单元进行膨胀。这导致理论上的速度提高了5.5倍,尽管在实践中实际速度的提高要少一些。
的结构元素分解“磁盘”
而且“球”
形状是近似值;所有其他的分解都是精确的。分解不用于任意结构元素,除非它是一个平面结构元素,其邻域矩阵都是1。
要查看分解中使用的结构元素的序列,请使用分解
方法。这两个strel
对象和offsetstrel
对象支持分解方法万博1manbetx。的分解
方法返回构成分解的结构元素的数组。例如,下面是在分解一个菱形结构元素时创建的结构元素。
SE = strel(“钻石”,4)
SE = strel是一个菱形结构元素,具有以下属性:邻域:[9x9逻辑]维数:2
调用分解方法。该方法返回一个结构元素数组。
分解(SE)
ans = 3x1 strel数组,属性:邻域维数