主要内容

strel

形态学结构元素

描述

一个strel物体代表平坦的形态学结构化元素,这是形态膨胀和侵蚀操作的重要组成部分。

平面结构元素是二进制值的邻域,2-D或多维,其中真正的形态计算中包含像素像素不是。结构元素的中心像素,称为起源,识别被处理图像中的像素。使用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('square',w创建宽度为的正方形结构元素w像素。

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

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

例子

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

兼容性

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

  • se = strel('任意',nhown,h)

  • se = strel('球',r,h,n)

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

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

  • se = strel(''sicline',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是一个方形的结构化元素,具有属性:邻域:[11x11逻辑]维度:2

创建一个线形结构元素,长度为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.neighborfaces)

图中包含一个轴对象。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号,PP。325-332,1993年9月。

[3] Jones, R., P. Soille,《周期线:定义、级联和在粒度测定中的应用》,模式识别的字母,第17卷,第1057-1063页,1996。

扩展功能

另请参阅

之前介绍过的R2006a