主要内容

regionprops

图像区域的度量特性

描述

实例

统计数据= regionprops (体重,属性)返回二进制图像中每个8连接组件(对象)的属性集的测量值,体重. 你可以用regionprops在连续地区和不连续的地区(见更多关于).

笔记

要返回3-D体积图像的测量值,请考虑使用区域项目3虽然regionprops可以接受3-D图像,区域项目3计算出更多的3d图像统计数据regionprops

对于所有语法,如果不指定属性那就辩论吧regionprops返回“区域”,“重心”,的边界框(“大小)测量。

统计数据= regionprops (科科斯群岛,属性)为每个连接的组件(对象)测量一组属性科科斯群岛,它是由返回的结构bwconncomp

统计数据= regionprops (L,属性)测量标签图像中每个标签区域的一组属性L

统计数据= regionprops (___,,属性)返回由指定的属性集的测量值属性为图像中的每个标记区域.第一个输入regionprops(体重,科科斯群岛,或L)标识中的区域

实例

统计数据= regionprops (输出,___)返回一组属性的测量值,其中输出指定返回值的类型。regionprops可以在a结构体数组或一个表格

例子

全部折叠

将二进制图像读入工作区。

BW = imread (“text.png”);

使用:计算图像中连接组件的质心regionprops.这个regionprops函数返回结构阵列中的质心。

s = regionprops (BW,“重心”);

存储x- - -Y将质心坐标转换为两列矩阵。

质心=cat(1,s质心);

使用叠加的质心位置显示二进制图像。

imshow(bw)持有情节(质心(:1),重心(:,2),'b *')举行

Figure包含一个axes对象。axes对象包含两个image、line类型的对象。

估计图像中圆形物体的中心和半径,并使用此信息在图像上绘制圆。在这个例子中,regionprops返回表中测量的区域属性。

将图像读入工作区。

a = imread('circlesbrightdark.png');

将输入图像转换为二进制图像。

bw=a<100;imshow(bw)标题(“形象圈”)

图中包含一个轴对象。标题为Image with Circles的axes对象包含一个Image类型的对象。

计算图像中区域的属性并在表中返回数据。

统计数据=区域道具('桌子'bw,“重心”,...'majoraxislength',“MinorAxisLength”)
统计=4×3表MASTROID MASIMAXISLENG MENINAXISLENGTH _______________________________________________ 256.5 256.5 834.46 834.46 300 120 81.759 81.759 330.47 369.83 111.78 110.36 450 240 101.72 101.72

求圆的圆心和半径。

中心=统计。质心;直径=平均值([stats.MajorAxisLength统计。MinorAxisLength],2);半径=直径/2;

画出圆圈。

持有内圆(中心、半径);持有

图中包含一个轴对象。带有圆圈标题图像的轴对象包含3个类型线,图像的对象。

输入参数

全部折叠

二进制图像,指定为任何维度的逻辑阵列。

数据类型:必然的

连接的组件,指定为返回的结构bwconncomp

数据类型:结构体

标签图像,指定为以下内容之一。

  • 任何维度的数字数组。像素标记为0是背景。像素标记为1.组成一个对象;标记像素2.制造第二个对象;等等。regionprops将负值像素作为背景,并对非整数的输入像素进行四舍五入。您可以从标签函数获得一个数字标签图像,例如转折点唇形矩阵

  • 一个分类数组。每个类别对应一个不同的区域。

数据类型:|双倍的|int8|int16|INT32.|uint8|uint16|uint32|分类

度量类型,指定为逗号分隔的字符串标量或字符向量列表、字符串标量或字符向量的单元格数组,或指定为“所有”'基本的'

  • 如果您指定“所有”然后regionprops计算所有形状测量值,对于灰度图像,还计算像素值测量值。

  • 如果您指定'基本的'然后regionprops只计算“区域”,“重心”,的边界框(“大小)测量。

以下表列出了提供形状测量的所有属性。列出的属性像素值测量表仅在指定灰度图像时有效。

形状测量

属性名 描述 N-D支金宝app持 GPU的金宝app支持 代码生成
“区域”

区域中的实际像素数,返回为标量。(此值可能与返回的值略有不同Bwarea.,它会对不同的像素模式进行不同的加权。)

要查找与三维体积面积相等的面积,请使用“体积”性质区域项目3

是的 是的 是的
的边界框(“大小)

包含区域的最小框的位置和大小,返回为1乘-(2*Q)向量,第一个Q元素是长方体最小角点的坐标。第二Q元素是框沿每个维度的大小。例如,具有值的二维边界框[5.5 8.5 11 14]表示(x,Y)框的左上角坐标为(5.5,8.5),框的水平宽度为11像素,框的垂直高度为14像素。

是的 是的 是的
“重心”

区域的质心,返回为1-x-Q向量。第一个元素重心是水平坐标(或x-坐标)的质心。第二个元素是垂直坐标(或)Y-协调)。所有其他元素重心都是按维度排列的。该图说明了不连续区域的质心和边界框。该区域由白色像素组成;绿色的方框是边界方框,红点是质心。

是的 是的 是的
'圆'

物体的圆度,返回为带有场的结构循环.该结构包含输入图像中每个对象的圆度值。圆度值计算为(4 *区*π)/(周长2.).对于完美的圆圈,圆形值为1.输入必须是标签矩阵或具有连续区域的二进制图像。如果图像包含不连续的地区,regionprops返回意想不到的结果。

笔记

循环对于非常小的对象(如3×3的正方形),不建议使用此选项。在这种情况下,结果可能会超过完美圆的圆度值。

仅二维 没有 是的
“ConvexArea” 内像素数“凸廓”,作为标量返回。 仅二维 没有 没有
'convexhull' 包含区域的最小凸多边形,返回为P2矩阵。矩阵的每一行都包含x- - -Y多边形的一个顶点的坐标。 仅二维 没有 没有
“凸廓” 指定凸面外壳的图像,填充外壳内的所有像素(设置为),作为二进制图像返回(必然的).图像是该区域的边界框的大小。(对于船体边界通过的像素,regionprops使用相同的逻辑roipoly确定像素是在外壳内部还是外部。) 仅二维 没有 没有
“偏心” 与区域具有相同秒矩的椭圆的离心率,以标量返回。偏心距是椭圆的焦点与其主轴长度之间的距离之比。取值范围为0 ~ 1。(0和1是退化情况。离心率为0的椭圆是圆,离心率为1的椭圆是线段。 仅二维 是的 是的
“当量直径” 与区域面积相同的圆的直径,作为标量返回。计算为SQRT(4 *区域/ PI) 仅二维 是的 是的
“EulerNumber” 区域中的对象数减去这些对象中的孔数,作为标量返回。此属性仅支持2-D标签矩阵。金宝appregionprops使用8连通性来计算欧拉数(也称为欧拉特征)。要了解更多关于连通性的信息,请参见像素连通性 仅二维 没有 是的
“范围” 区域内像素与总边界框内像素的比率,以标量返回。计算的地区除以包围框的面积。 仅二维 是的 是的
'极值'

区域的极值点,作为8×2矩阵返回。矩阵的每一行都包含x- - -Y-其中一个点的坐标。向量的格式为[左上右上右上右下右下左下左下左上].这个图显示了两个不同区域的极值。在左边的区域中,每个极值点都是不同的。在右侧区域,某些极值点(如左上的左上角)都是一样的。

仅二维 是的 是的
'ancientarea' 数量像素FilledImage,作为标量返回。 是的 没有 是的
“FilledImage”

与区域边界框大小相同的图像,返回为二进制(必然的)数组。这个像素对应的区域,所有的洞都填满了,如图所示。

是的 没有 是的
“图像” 与区域边界框大小相同的图像,返回为二进制(必然的)数组。这个像素对应于该区域,并且所有其他像素都是相同的 是的 是的 是的
'majoraxislength' 椭圆的主轴的长度(以像素为单位),其具有与该区域相同的归一化第二中央矩,作为标量返回。 仅二维 是的 是的
'maxferetproperties'

Feret属性,包括最大Feret直径,它的相对角度,和座标值,返回为带有字段的结构:

领域 描述
MaxFeretDiameter 最大费氏直径测量为包围物体的凸包对跖点上任何两个边界点之间的最大距离。
MaxFeretAngle 最大雪貂直径相对于图像水平轴的角度。
MaxFeretCoordinates 最大雪貂直径的端点坐标。

输入可以是二进制图像、连接组件或标签矩阵。

仅二维 没有 没有
“MinFeretProperties”

Feret属性,包括最小Feret直径,它的相对角度,和座标值,返回为带有字段的结构:

领域 描述
米弗雷特流量计 最小费勒直径测量为包围物体的凸包对映点上任何两个边界点之间的最小距离。
MinfereTangle. 最小切向直径相对于图像水平轴的角度。
MinferetCoordinates. 最小机构直径的终点坐标。

输入可以是二进制图像,连接组件或标签矩阵。

仅二维 没有 没有
“MinorAxisLength” 椭圆的短轴的长度(以像素为单位),其具有与该区域相同的归一化第二中央矩,作为标量返回。 仅二维 是的 是的
“定位”

角度之间的角度x-轴和与区域具有相同秒矩的椭圆的长轴,返回为标量。单位为度,取值范围为-90°~ 90°。这个图说明了椭圆的轴和方向。图的左侧显示了一个图像区域及其相应的椭圆。右边显示了相同的椭圆,实蓝色线代表坐标轴。红点是焦点。方向是水平虚线与主轴之间的角度。

仅二维 是的 是的
“周长”

区域边界周围的距离返回为标量。regionprops通过计算区域边界周围每对相邻像素之间的距离来计算周长。如果图像包含不连续区域,regionprops返回意想不到的结果。这个图展示了在这个对象的周长计算中包含的像素。

仅二维 没有 是的
“PixelIdxList” 该区域中的像素的线性指标,作为a返回P- 再生矢量。 是的 是的 是的
“PixelList” 区域内像素的位置,返回为P-经过-Q矩阵。矩阵的每一行都有这种形式[x y z…]并指定区域中一个像素的坐标。 是的 是的 是的
“稳健” 凸包中同样位于该区域的像素的比例,返回为标量。计算为区域/ ConvexArea 仅二维 没有 没有
“SubarrayIdx” 的元素L在“对象边界”框中,作为单元数组返回,其中包含指标L (idx {:})提取元素。 是的 是的 没有

下表中的像素值测量属性仅在指定灰度图像时有效,

像素值测量

属性名 描述 N-D支金宝app持 GPU的金宝app支持 代码生成
“最大强度” 区域中强度最大的像素的值,作为标量返回。 是的 是的 是的
'意思' 区域中所有强度值的平均值,作为标量返回。 是的 是的 是的
“最小强度” 区域中强度最低的像素的值,作为标量返回。 是的 是的 是的
'pixelvalues' 区域中的像素数,返回为P1的向量,P为区域内像素的个数。向量中的每个元素都包含该区域中的一个像素值。 是的 是的 是的
“WeightedCentroid” 基于位置和强度值的区域中心,作为一个P-经过-Q向量的坐标。第一个元素重量表是水平坐标(或x-加权质心的坐标)。第二个元素是垂直坐标(或Y-协调)。所有其他元素重量表都是按维度排列的。 是的 是的 是的

数据类型:char|字符串|细胞

要测量的图像,指定为灰度图像。图像的大小必须与二值图像的大小匹配体重、连接构件结构科科斯群岛,或标签图像L

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8|uint16|uint32

返回类型,指定为以下值之一。

价值 描述
'struct' 返回一个长度等于对象数量的结构数组体重,科科斯群岛.NumObjects,或最大限度(L(:))。结构数组的字段表示每个区域的不同属性,如属性
'桌子'

返回一个表格高度(行数)等于中对象的数量体重,科科斯群岛.NumObjects,或最大限度(L(:)).变量(列)表示每个区域的不同属性,如属性

数据类型:char|字符串

输出参数

全部折叠

测量值,作为结构数组或表返回。数组中的结构数或表中的行数等于其中的对象数体重,CC.NumObjects,或马克斯(L (:)).每行中的每个结构的字段或每行中的变量表示针对每个区域计算的属性,如指定属性.如果输入图像是分类标签图像L然后统计数据包含具有属性的附加字段或变量“LabelName”

更多关于

全部折叠

连续地区和不连续的地区

相邻区域也称为相邻区域物体,连接组件,或斑点.一个标签图片L包含连续的区域可能像这样:

1 1 0 2 2 0 3 3 1 1 0 2 2 0 3 3

的元素L等于1属于第一个相邻区域或连接组件;的元素L等于2的值属于第二个连接的组件;依此类推。

不连续区域是指可以包含多个连接组件的区域。一个包含不连续区域的标签图像看起来像这样:

1 1 0 1 1 0 2 2 1 1 0 1 1 0 2 2
的元素L等于1属于第一个区域,该区域是不连续的,包含两个相连的分量。的元素L等于2属于第二区域,该区域为单个连通分量。

提示

  • 这个ismember功能对于创建仅包含符合某些标准的对象或区域的二进制图像很有用。例如,这些命令仅创建一个仅包含区域大于80并且其偏心小于0.8的区域的二进制图像。

    cc = bwconncomp (BW);统计= regionprops (cc,“区域”,“偏心”);idx = find([stats.area]> 80&[stats.eccentricity] <0.8);BW2 = ISMember(LabelMatrix(CC),IDX);
  • 对于2d图像,默认连接为8连接,对于高维图像,默认连接为最大连接。若要指定非默认连接,请使用bwconncomp创建连接的零部件,然后将结果传递给regionprops

  • regionprops在计算相关测量时利用中间结果。因此,计算单个呼叫中的所有所需测量最快regionprops

  • 大多数测量只需很少的时间来计算。然而,这些测量可能需要更长的时间,这取决于区域的数量L:

    • 'convexhull'

    • “凸廓”

    • “ConvexArea”

    • “FilledImage”

扩展功能

之前介绍过的R2006a