文档

strel

形态结构元素

描述

一个strelObject表示一个扁平的形态结构化元素,这是形态扩张和侵蚀操作的重要组成部分。

平面结构元素是一个二元值邻域,可以是二维的,也可以是多维的,其中真像素包含在形态计算中,而假像素不包含在形态计算中。结构元素的中心像素,称为起源,表示正在处理的图像中的像素。使用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('磁盘',rn创建一个圆盘形状的结构元素,其中r指定半径。n指定用于近似磁盘形状的行结构元素的数目。当结构元素使用近似时,使用圆盘近似的形态操作运行得更快。

例子

SE = strel('line', 'line',len创建与邻域中心对称的线性结构元素。指定从水平轴逆时针方向测量的直线角度(以度为单位)。len约为线两端结构元素成员的中心之间的距离。

SE = strel('八角形',r创建一个八角形结构元素,其中r指定从构造元素原点到八边形两侧的距离,如沿水平轴和垂直轴测量的那样。r必须是3的非负倍数。

SE = strel('矩形',创建一个矩形结构元素,其中指定大小。

例子

SE = strel('方形',w创建宽度为的正方形结构元素w像素。

SE = strel('立方体',w创建一个立方体结构元素,其宽度为w像素。w必须为非负整数标量。

SE = strel('长方体',xyz创建大小的立方体结构元素xyz

例子

SE = strel('球面',r创建一个半径为的球形结构元素r像素。

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)

输入参数

全部展开

的结构元素的半径x-y平面,指定为非负整数。

对于圆盘形状,r是从原点到圆盘边缘的距离。

对于菱形,r是从构造元素原点到金刚石各点的距离。

数据类型:

用于近似形状的周期线结构元素的数目,指定为标量值0、4、6或8。当n大于0时,圆盘形结构单元近似为n周期线结构元素。当n是0,strel是否没有近似,结构元素成员包含所有中心不大于的像素r远离原点。当结构元素使用近似时,使用圆盘近似的形态操作运行得更快(n> 0).有时它是必要的strel在近似中使用两个额外的线结构元素,在这种情况下,使用的分解结构元素的数量为n + 2

n的值 行为
n> 0 strel使用n(有时n + 2)周期线形结构元素,以近似形状。
n= 0 strel不使用任何近似。结构元素成员由中心不大于的所有像素组成r距原点的距离和相应的高度值由所指定的椭球公式确定r而且h

数据类型:

矩形结构元素的大小,指定为非负整数的两元素向量。的第一个元素是结构元素邻域中的行数,第二个元素是列数。

数据类型:

方形或立方体结构单元的宽度,指定为非负整数标量。

数据类型:

长方体结构单元的维数,指定为形式为非负整数的三元向量[x y x]x是行数,y列数,和z是三维空间中的平面数。

数据类型:

邻域,指定为包含1和0的矩阵。1的位置定义了形态运算的邻域。的中心(或原点)nhood它的中心元素是地板((尺寸(罩)+ 1)/2)

数据类型:

属性

全部展开

构造元素邻域,指定为逻辑矩阵。

数据类型:逻辑

结构元素的尺寸,指定为非负标量。

数据类型:

对象的功能

分解 返回分解的结构元素序列
反映 反映结构元素
翻译 翻译结构元素

例子

全部折叠

创建一个11乘11的正方形结构元素。

SE = strel(“广场”11)
SE = strel是一个方形结构元素,具有如下属性:邻域:[11x11 logical]维数:2

创建一个线形结构元素,长度为10,角度为45度。

SE = strel(“行”, 10, 45)
SE = strel是一个线形结构元素,属性:邻域:[7x7逻辑]维数:2

查看结构元素。

SE。社区
ans =7x7逻辑数组0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

创建一个半径为15的圆盘形结构元素。

SE3 = strel(“磁盘”15)
SE3 = strel是一个圆盘形状的结构元素,其属性:邻域:[29x29 logical]维数:2

显示盘形结构元素。

图imshow (SE3.Neighborhood)

创建一个半径为15的3-D球形结构元素。

SE = strel(“球”15)
SE = strel是一个球形结构元素,属性:邻域:[31x31x31 logical]维数:3

显示结构元素。

图等值面(SE.Neighborhood)

提示

  • 构造不使用近似的元素(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年。

扩展功能

另请参阅

R2006a之前介绍

这个话题有用吗?