strel
形态结构元素
描述
一个strel
Object表示一个扁平的形态结构化元素,这是形态扩张和侵蚀操作的重要组成部分。
平面结构元素是一个二元值邻域,可以是二维的,也可以是多维的,其中真像素包含在形态计算中,而假像素不包含在形态计算中。结构元素的中心像素,称为起源,表示正在处理的图像中的像素。使用strel
函数(如下所述)来创建平面结构元素。您可以对二进制和灰度图像使用平面结构元素。下图说明了一个平面结构元素。
要创建非平面结构元素,请使用offsetstrel
.
创建
语法
SE = strel('diamond',r)
SE = strel('磁盘',r,n)
SE = strel('line',len,deg)
SE = strel('八角形',r)
SE = strel('矩形',mn)
SE = strel('square',w)
SE = strel('cube',w)
SE = strel('长方体',xyz)
SE = strel('球面',r)
SE = strel('任意',nhood)
描述
SE = strel('钻石',
创建一个菱形结构元素,其中r
)r
指定从构造元素原点到菱形点的距离。
SE = strel('line', 'line',
创建与邻域中心对称的线性结构元素。len
,度
)度
指定从水平轴逆时针方向测量的直线角度(以度为单位)。len
约为线两端结构元素成员的中心之间的距离。
SE = strel('八角形',
创建一个八角形结构元素,其中r
)r
指定从构造元素原点到八边形两侧的距离,如沿水平轴和垂直轴测量的那样。r
必须是3的非负倍数。
SE = strel('矩形',
创建一个矩形结构元素,其中锰
)锰
指定大小。
SE = strel('任意',
创建一个结构化元素,其中nhood
)nhood
是一个由1和0组成的矩阵,用于指定邻域。你可以省略“任意的”
并指定strel (nhood)
.
兼容性
下面的语法仍然有效,但是offsetstrel
是创建这些非平面结构元素形状的首选方法:
SE = strel('任意',nhood,h)
SE = strel('球',r,h,n)
以下语法仍然有效,但不建议使用:
SE = strel('pair',OFFSET)
SE = strel('周期性线',p,v)
输入参数
属性
例子
提示
构造不使用近似的元素(
n
= 0)不适合计算颗粒测量。
算法
适用于所有形状“任意的”
,构造元素是使用一系列技术构造的,这些技术统称为构造元素分解.其原理是,一些大型结构单元的膨胀可以通过一系列较小结构单元的膨胀更快地计算出来。例如,通过先用1 × 11的结构单元进行膨胀,然后再用11 × 1的结构单元进行膨胀,可以实现用11 × 11的正方形结构单元进行膨胀。这导致理论上的性能提高了5.5倍,尽管在实践中实际的性能提高要少一些。的结构元素分解“磁盘”
形状只是一个近似值,其他的分解都是精确的。
参考文献
[1] van den Boomgard, R,和R. van Balen,“使用位图图像进行快速形态学图像转换的方法”,计算机视觉,图形学和图像处理:图形模型和图像处理,第54卷,第3期,第252-254页,1992年5月。
[2] Adams, R.,“圆盘和球体的径向分解”,计算机视觉,图形学和图像处理:图形模型和图像处理,第55卷,第5号,325-332页,1993年9月。
[3] Jones, R.和P. Soille,“周期线:定义、级联和在肉芽测量中的应用”,模式识别通讯,第17卷,第1057-1063页,1996年。