主要内容gydF4y2Ba

bwferetgydF4y2Ba

测量Feret属性gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

出gydF4y2Ba= bwferet (gydF4y2BaBWgydF4y2Ba,gydF4y2Ba属性gydF4y2Ba)gydF4y2Ba测量图像中对象的Feret属性,并在表格中返回测量值。输入gydF4y2Ba属性gydF4y2Ba指定输入二值图像中每个对象要测量的Feret属性gydF4y2BaBWgydF4y2Ba.测量的Feret属性包括最小和最大Feret直径,Feret角和Feret直径的端点坐标。gydF4y2Ba

例子gydF4y2Ba

出gydF4y2Ba= bwferet (gydF4y2BaCCgydF4y2Ba,gydF4y2Ba属性gydF4y2Ba)gydF4y2Ba测量结构中每个连接组件的Feret属性gydF4y2BaCCgydF4y2Ba.gydF4y2Ba

出gydF4y2Ba= bwferet (gydF4y2BalgydF4y2Ba,gydF4y2Ba属性gydF4y2Ba)gydF4y2Ba测量输入标签矩阵中每个对象的Feret属性gydF4y2BalgydF4y2Ba.gydF4y2Ba

出gydF4y2Ba= bwferet (gydF4y2Ba输入gydF4y2Ba)gydF4y2Ba测量最大Feret直径,它的相对角度,和坐标值测量从gydF4y2Ba输入gydF4y2Ba.该函数返回表中的测量值。的gydF4y2Ba输入gydF4y2Ba可以是二值图像gydF4y2BaBWgydF4y2Ba,连通元件gydF4y2BaCCgydF4y2Ba,或标签矩阵gydF4y2BalgydF4y2Ba.gydF4y2Ba

[gydF4y2Ba出gydF4y2Ba,gydF4y2BaLMgydF4y2Ba= bwferet(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba还返回一个标签矩阵,其中包含表示表的行索引的标签值gydF4y2Ba出gydF4y2Ba.您可以使用以前语法中的任何输入参数。中的每一行项gydF4y2Ba出gydF4y2Ba对应于标签矩阵中的一个标记区域(对象)gydF4y2BaLMgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

将图像读入工作区。gydF4y2Ba

I = imread(gydF4y2Ba“toyobjects.png”gydF4y2Ba);gydF4y2Ba

将图像转换为二值图像。gydF4y2Ba

bw = imbinalize (I,gydF4y2Ba“自适应”gydF4y2Ba);gydF4y2Ba

从二值图像中提取前两个最大的对象。gydF4y2Ba

Bw = bwareafilt(Bw,2);gydF4y2Ba

在提取的对象区域填充洞。gydF4y2Ba

Bw =填充(Bw,gydF4y2Ba“黑洞”gydF4y2Ba);gydF4y2Ba

计算提取对象的最小Feret属性和标签矩阵。gydF4y2Ba

[out,LM] = bwferet(bw,gydF4y2Ba“MinFeretProperties”gydF4y2Ba);gydF4y2Ba

获取输出标签矩阵中对象的最大数量。gydF4y2Ba

maxLabel = max(LM(:));gydF4y2Ba

显示包含最小Feret属性表的输出。gydF4y2Ba

出gydF4y2Ba
了=gydF4y2Ba2×3表gydF4y2BaMinDiameter MinAngle MinCoordinates  ___________ ________ ______________ 132.08 - -159.27 116.23 - 99.462 {2 x2双}{2 x2双}gydF4y2Ba

显示输出标签矩阵中标签值为1的对象的最小Feret属性。gydF4y2Ba

out.MinDiameter (1)gydF4y2Ba
Ans = 116.2301gydF4y2Ba
out.MinAngle (1)gydF4y2Ba
Ans = 99.4623gydF4y2Ba
出去了。MinCoordinates {1}gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba120.5000 311.5000 139.6081 196.8514gydF4y2Ba

显示输出标签矩阵中标签值为2的对象的最小Feret属性。gydF4y2Ba

out.MinDiameter (2)gydF4y2Ba
Ans = 132.0776gydF4y2Ba
out.MinAngle (2)gydF4y2Ba
Ans = -159.2744gydF4y2Ba
出去了。MinCoordinates {2}gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba215.5000 197.5000 339.0304 244.2412gydF4y2Ba

显示输出标签矩阵。从输出标签矩阵中绘制具有不同标签值的对象的端点坐标和最小Feret直径。gydF4y2Ba

h = imshow(LM,[]);轴= h.Parent;gydF4y2Ba为gydF4y2Balabelvalues = 1:maxLabel xmin = [out.MinCoordinates{labelvalues}(1,1) out.MinCoordinates{labelvalues}(2,1)];ymin = [out.MinCoordinates{labelvalues}(1,2) out.MinCoordinates{labelvalues}(2,2)];imdistline(轴,xmin ymin);gydF4y2Ba结束gydF4y2Ba标题(轴,gydF4y2Ba“物体的最小直径”gydF4y2Ba);colorbar (gydF4y2Ba“滴答”gydF4y2Ba1: maxLabel)gydF4y2Ba

图中包含一个轴对象。标题为“最小Feret Diameter of Objects”的axis对象包含11个类型为行、文本、图像的对象。gydF4y2Ba

将图像读入工作区。gydF4y2Ba

I = imread(gydF4y2Ba“toyobjects.png”gydF4y2Ba);gydF4y2Ba

将图像转换为二值图像。gydF4y2Ba

bw = imbinalize (I,gydF4y2Ba“自适应”gydF4y2Ba);gydF4y2Ba

在输入二值图像的对象区域中填充空洞。gydF4y2Ba

Bw =填充(Bw,gydF4y2Ba“黑洞”gydF4y2Ba);gydF4y2Ba

使用gydF4y2BabwconncompgydF4y2Ba函数从生成的图像生成连接的组件。gydF4y2Ba

Cc = bwconncomp(bw);gydF4y2Ba

测量连接组件的最大Feret属性。gydF4y2Ba

[out,LM] = bwferet(cc,gydF4y2Ba“MaxFeretProperties”gydF4y2Ba);gydF4y2Ba

获取输出标签矩阵中对象的最大数量。gydF4y2Ba

maxLabel = max(LM(:));gydF4y2Ba

检查表,以验证测量的最大Feret属性。gydF4y2Ba

出gydF4y2Ba
了=gydF4y2Ba4×3表gydF4y2BaMaxDiameter MaxAngle MaxCoordinates ___________ ________ ______________ 162.6 -175.06 {2x2 double} 156.21 -127.46 {2x2 double} 187.96 121.07 {2x2 double} 63.781 -131.19 {2x2 double}gydF4y2Ba

从输出标签矩阵中显示不同标签值的对象的最大Feret直径。gydF4y2Ba

out.MaxDiameter (1: maxLabel)gydF4y2Ba
ans =gydF4y2Ba4×1gydF4y2Ba162.6038 156.2082 187.9628 63.7809gydF4y2Ba

从输出标签矩阵中显示不同标签值的对象的最大Feret直径方向角。gydF4y2Ba

out.MaxAngle (1: maxLabel)gydF4y2Ba
ans =gydF4y2Ba4×1gydF4y2Ba-175.0608 -127.4568 121.0683 -131.1859gydF4y2Ba

显示输出标签矩阵中特定于具有不同标签值的对象的最大Feret直径的端点坐标。gydF4y2Ba

出去了。MaxCoordinates {1: maxLabel}gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba186.5000 113.5000 24.5000 99.5000gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba156.5000 315.5000 61.5000 191.5000gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba337.5000 174.5000 240.5000 335.5000gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba288.5000 129.5000 246.5000 81.5000gydF4y2Ba

显示输出标签矩阵。从输出标签矩阵中绘制具有不同标签值的对象的端点坐标和最大Feret直径。gydF4y2Ba

h = imshow(LM,[]);轴= h.Parent;gydF4y2Ba为gydF4y2Balabelvalues = 1:maxLabel xmax = [out.MaxCoordinates{labelvalues}(1,1) out.MaxCoordinates{labelvalues}(2,1)];ymax = [out.MaxCoordinates{labelvalues}(1,2) out.MaxCoordinates{labelvalues}(2,2)];imdistline(轴,xmax ymax);gydF4y2Ba结束gydF4y2Ba标题(轴,gydF4y2Ba“物体的最大直径”gydF4y2Ba);colorbar (gydF4y2Ba“滴答”gydF4y2Ba1: maxLabel)gydF4y2Ba

图中包含一个轴对象。标题为“对象的最大Feret直径”的axis对象包含21个类型为行、文本、图像的对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

二值图像,指定为逻辑矩阵或数字矩阵。gydF4y2BaBWgydF4y2Ba必须为二值图像,其中非零像素对应对象,零值像素对应背景。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba

连接的组件,指定为具有此表中所示四个字段的结构。gydF4y2Ba

场gydF4y2Ba 描述gydF4y2Ba
连接gydF4y2Ba 连接的组件(对象)的连接性gydF4y2Ba
图象尺寸gydF4y2Ba 输入二值图像的大小gydF4y2Ba
NumObjectsgydF4y2Ba 输入二值图像中连接的组件(对象)的数量gydF4y2Ba
PixelIdxListgydF4y2Ba 1 -gydF4y2BaNumObjectsgydF4y2Ba单元格数组,其中gydF4y2BakgydF4y2Ba元素是一个向量,其中包含像素的线性下标gydF4y2BakgydF4y2Bath对象gydF4y2Ba

您可以使用gydF4y2BabwconncompgydF4y2Ba函数从二值图像生成连接的组件。gydF4y2Ba

数据类型:gydF4y2Ba结构体gydF4y2Ba

连续区域的标记矩阵,指定为非负整数的矩阵。标记为0的像素是背景。标记为1的像素组成一个对象;标记为2的像素组成第二个对象;等等......表示的对象的数目gydF4y2BalgydF4y2Ba等于的最大值gydF4y2BalgydF4y2Ba.您可以使用gydF4y2BabwlabelgydF4y2Ba函数从二值图像生成标签矩阵。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba

Feret属性的标签,指定为gydF4y2BaMaxFeretPropertiesgydF4y2Ba,gydF4y2BaMinFeretPropertiesgydF4y2Ba,或gydF4y2Ba所有gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

泛型输入,指定为以下值之一:gydF4y2Ba

  • 数字矩阵或逻辑矩阵-当gydF4y2Ba输入gydF4y2Ba是二值图像,gydF4y2BaBWgydF4y2Ba.gydF4y2Ba

  • 结构——何时gydF4y2Ba输入gydF4y2Ba是连接的分量,gydF4y2BaCCgydF4y2Ba.gydF4y2Ba

  • 非负整数矩阵-当gydF4y2Ba输入gydF4y2Ba是标签矩阵,gydF4y2BalgydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba|gydF4y2Ba结构体gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

表的Feret属性,返回为gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BangydF4y2Ba表格gydF4y2Ba米gydF4y2Ba是测量Feret属性的对象的数量。gydF4y2BangydF4y2Ba是3还是6,取决于gydF4y2Ba属性gydF4y2Ba输入。gydF4y2Ba

  • 如果gydF4y2Ba属性gydF4y2Ba是gydF4y2Ba“MaxFeretProperties”gydF4y2Ba,然后是桌子gydF4y2Ba出gydF4y2Ba大小gydF4y2Ba米gydF4y2Ba-by-3的列gydF4y2BaMaxDiametergydF4y2Ba,gydF4y2BaMaxAnglegydF4y2Ba,gydF4y2BaMaxCoordinatesgydF4y2Ba.gydF4y2Ba

  • 如果gydF4y2Ba属性gydF4y2Ba是gydF4y2Ba“MinFeretProperties”gydF4y2Ba,然后是桌子gydF4y2Ba出gydF4y2Ba大小gydF4y2Ba米gydF4y2Ba-by-3的列gydF4y2BaMinDiametergydF4y2Ba,gydF4y2BaMinAnglegydF4y2Ba,gydF4y2BaMinCoordinatesgydF4y2Ba.gydF4y2Ba

  • 如果gydF4y2Ba属性gydF4y2Ba是gydF4y2Ba“所有”gydF4y2Ba,然后是桌子gydF4y2Ba出gydF4y2Ba大小gydF4y2Ba米gydF4y2Ba-by-6,用于该表中列出的所有列。gydF4y2Ba

列名gydF4y2Ba 描述gydF4y2Ba
MaxDiametergydF4y2Ba 一个物体的最大费雷特直径,以包围该物体的凸包的对足顶点上的任何两个边界点之间的最大距离来测量gydF4y2Ba
MaxAnglegydF4y2Ba

最大Feret直径相对于图像横轴的方向角。该值以度为单位,取值范围为[-180gydF4y2BaogydF4y2Ba, 180年gydF4y2BaogydF4y2Ba]gydF4y2Ba

MaxCoordinatesgydF4y2Ba 在表单中返回的最大Feret直径的端点坐标gydF4y2Ba [gydF4y2Ba xgydF4y2Ba 1gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba
MinDiametergydF4y2Ba 物体的最小费雷特直径,用包围该物体的凸包的对足顶点上的任意两个边界点之间的最小距离来测量gydF4y2Ba
MinAnglegydF4y2Ba

最小费雷特直径相对于图像横轴的方向角。该值以度为单位,取值范围为[-180gydF4y2BaogydF4y2Ba, 180年gydF4y2BaogydF4y2Ba]gydF4y2Ba

MinCoordinatesgydF4y2Ba 在表单中返回的最小Feret直径的端点坐标gydF4y2Ba [gydF4y2Ba xgydF4y2Ba 1gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba

连续区域的标记矩阵,指定为非负整数的矩阵。标记为0的像素是背景。标记为1的像素组成一个对象;标记为2的像素组成第二个对象;等等......Feret性质gydF4y2BakgydF4y2Ba的第Th行元素gydF4y2Ba出gydF4y2Ba对应于gydF4y2BakgydF4y2Ba区域(对象)gydF4y2BaLMgydF4y2Ba有价值的东西gydF4y2BakgydF4y2Ba.表示的对象的数目gydF4y2BaLMgydF4y2Ba等于的最大值gydF4y2BaLMgydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

如果输入为gydF4y2BabwferetgydF4y2Ba是一个标签矩阵,那么输出标签矩阵gydF4y2BaLMgydF4y2Ba与输入标签矩阵相同。gydF4y2Ba

数据类型:gydF4y2Bauint8gydF4y2Ba

算法gydF4y2Ba

一个物体的Feret属性是通过使用包围该物体的凸包的对足顶点上的边界点来测量的。gydF4y2Ba

已知最大(或最小)Feret直径的端点坐标,gydF4y2Ba [gydF4y2Ba xgydF4y2Ba 1gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba 时,最大(或最小)费列角为gydF4y2Ba 一个gydF4y2Ba ngydF4y2Ba ggydF4y2Ba lgydF4y2Ba egydF4y2Ba =gydF4y2Ba 棕褐色gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba −gydF4y2Ba ygydF4y2Ba 1gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba −gydF4y2Ba xgydF4y2Ba 1gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba

在R2019a中引入gydF4y2Ba