主要内容

strel

形态学结构元素

描述

一个strel对象表示一个平面形态结构化元素,这是形态膨胀和侵蚀操作的重要组成部分。

平面结构元素是二维或多维的二元值邻域,其中真正的形态计算中包含像素像素不是。结构元素的中心像素,称为起源,识别被处理图像中的像素。使用strel函数(如下所述)创建一个平面结构元素。可以对二进制和灰度图像使用平面结构元素。下图展示了一个平面结构元素。

要创建非平面结构元素,请使用offsetstrel

创建

描述

SE = strel (nhood创建具有指定邻域的平面结构元素nhood

您也可以使用语法SE = strel(“任意”,nhood创建具有指定邻域的平面结构元素。

SE = strel(“钻石”,r创建一个菱形结构元素,其中r指定从结构元素原点到菱形顶点的距离。

例子

SE = strel(“磁盘”,rn创建一个磁盘形状的结构元素,其中r指定半径和n指定用于近似磁盘形状的线结构元素的数量。当结构元素使用近似时,使用磁盘近似的形态操作运行得更快。

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

例子

SE = strel(“线”,len创建一个线性结构元素,与邻域中心对称,长度近似len和角度

SE = strel(“矩形”,(mn)创建大小为矩形的结构元素(mn)

例子

SE = strel(“广场”,w创建宽度为的方形结构元素w像素。

SE = strel(“立方体”,w创建一个宽度为的三维立方体结构元素w像素。

SE = strel(长方体,[m n p]创建一个三维的立方体结构元素的大小[m n p]

例子

SE = strel(“球体”,r创建一个半径为的三维球面结构元素r像素。

兼容性

下面的语法仍然有效,但是offsetstrel是创建这些非平面结构元素形状的首选方法:

  • SE = strel(“任意”、nhood h)

  • SE = strel(‘球’,r, h, n)

以下语法仍然有效,但不建议使用:

  • SE = strel(“一对”,抵消)

  • SE = strel (periodicline, p, v)

输入参数

全部展开

指定为任意维度的数字数组。所有的非零像素nhood属于邻域的形态操作。的中心(或原点)nhood它的中心元素是地板(大小(nhood) + 1) / 2)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

中构造元素的半径x-y平面,指定为正整数。

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

  • 对于菱形,r为结构元素原点到菱形各点的距离。

  • 对于八边形,r是沿水平和垂直轴测量的从结构元件原点到八边形侧面的距离。r必须是3的倍数。

数据类型:

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

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

数据类型:

线性结构元件的长度,用正数表示。len近似为线两端结构构件中心之间的距离。

数据类型:

线性结构元件的角度,以度数表示,用数值标量表示。从水平轴逆时针方向测量角度。

数据类型:

矩形结构单元的大小,指定为正整数的2元素向量。结构元素有行和n列。

数据类型:

方形或立方结构元件的宽度,指定为正整数。

数据类型:

立方体结构单元的尺寸,指定为正整数的三元素向量。结构元素有行,n列和p飞机。

数据类型:

属性

全部展开

构造元素邻域,指定为逻辑数组。

数据类型:逻辑

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

数据类型:

对象的功能

imdilate 扩张的形象
imerode 损害形象
imclose 形态学关闭图像
imopen 形态开放的形象
imbothat 低帽过滤
imtophat 上流社会的过滤
bwhitmiss 二进制hit-miss操作
分解 返回分解的结构化元素的序列
反映 反映了结构元素
翻译 翻译结构元素

例子

全部折叠

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

SE = strel (“广场”11)
SE = strel是一个具有属性的方形结构元素

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

SE = strel (“行”10 45)
SE = strel是一个具有属性的线型结构元素:邻域:[7x7逻辑]维度:2

查看结构元素。

SE。社区
ans =7 x7逻辑阵列0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0

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

SE3 = strel (“磁盘”15)
SE3 = strel是一个具有属性的圆盘状结构元素

显示圆盘状结构元件。

图imshow (SE3.Neighborhood)

图中包含一个轴对象。axis对象包含一个image类型的对象。

创建一个半径为15的三维球体结构元素。

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

显示结构元素。

图等值面(SE.Neighborhood)

图中包含一个轴对象。axis对象包含一个patch类型的对象。

提示

  • 构造不使用近似的元素(n= 0)不适用于计算粒度。

算法

所有形状,除了“任意的”,构造元素是使用一系列统称为结构元素分解.其原理是用一系列较小的结构单元进行胀缩,可以较快地计算出一些较大结构单元的胀缩。例如,一个11乘11方形结构单元的膨胀可以通过先用一个1乘11的结构单元进行膨胀,然后再用一个11乘1的结构单元进行膨胀来完成。这使得理论上的性能提高了5.5倍,尽管在实践中实际的性能提高要少一些。的结构元素分解“磁盘”形状是一个近似值——所有其他的分解都是精确的。

兼容性的考虑

全部展开

行为在R2017b中改变

参考文献

[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