形态扩张和侵蚀操作的重要部分是用于探测输入图像的结构元素。结构化元素是矩阵,其识别正在处理的图像中的像素并定义在每个像素的处理中使用的邻域。您通常选择一个结构化元素与要在输入图像中的对象相同的大小和形状。例如,要在图像中查找行,请创建一个线性结构化元素。
有两种类型的结构化元素:平和非流动。平面结构元素是二进制值邻域,2-D或多维,其中真正像素包括在形态计算中,并且错误像素不是。结构元素的中心像素,称为起源,识别正在处理的图像中的像素。使用str
功能创建平面结构元素。您可以使用与二进制和灰度图像的平面结构化元素。下图说明了平面结构元件。
非污染结构元素是类型的矩阵双人间
这识别正在处理的图像中的像素并定义在处理该像素的处理中使用的邻域。非污细结构元素包含用作形态计算中的添加剂偏移的有限值。矩阵的中心像素,称为起源,识别正在处理的图像中的像素。具有值的邻域的像素-inf.
不用于计算。使用OffsetStrel.
函数创建非污水结构化元素。您只能使用灰度图像仅使用Nonflat结构化元素。
形态函数使用此代码获取任何大小和维度的结构元素的起源的坐标:
来源=楼层((尺寸(尺寸)+1)/ 2)
在哪里n
是定义结构元素的邻居。要查看平面结构元素的附近,请查看邻里
财产的财产str
目的。要查看非污浊结构元素的邻居,请查看偏移
财产的财产OffsetStrel.
目的。
例如,下面说明了平坦的菱形结构元件的起源。
提高性能,str
和OffsetStrel.
功能可能会将结构元素破坏到较小的碎片中,这是一种已知的技术结构元素分解。
例如,通过首先用1×11结构化元件扩张,然后用11×1结构元件扩张,可以通过11×11平方结构元件扩张。这导致理论速度提高5.5因子,但在实践中,实际速度改善略低。
结构化元素分解'盘'
和“球”
形状是近似值;所有其他分解都是精确的。分解不与任意结构化元素一起使用,除非它是邻矩阵是全部1的平面结构元素。
要查看分解中使用的结构化元素的序列,请使用分解
方法。两者str
对象和OffsetStrel.
对象支持分解方法金宝app。当分解
方法返回形成分解的结构元素的数组。例如,这里是在菱形结构元件的分解中产生的结构元件。
se = strel('钻石'4)
SE = strel是一个具有属性的钻石形结构元素:邻域:[9x9逻辑]维度:2
调用分解方法。该方法返回一个结构化元素数组。
分解(SE)
ans = 3x1 strel阵列,具有属性:邻域维度