# SortBlobs

SortBlobs 用于对 Blobs 数据结构中引用的与固定相关的斑点进行排序。

## SortBlobs 概述

通过计算所引用斑点的中心（质心）与指定的图像固定坐标系之间的位置关系， SortBlobs 将根据一个测量指标，例如斑点到 x 或 y 轴、到固定原点或网格的距离，或者斑点的角度距离来对斑点进行分类排序。

检查引用的 Blobs 数据结构中的每个斑点，并根据排序依据参数设置，识别斑点并通过测量斑点到固定位置的距离或角度关系来计算其位置。

一旦 SortBlobs 对引用的斑点进行了排序，新的 Blobs 数据结构和随附的结果表将自动插入到电子表格中。结果列表将根据斑点与所选固定坐标的远近程度按从近到远的次序排列（例如，最近的斑点排在最前，第二接近的斑点排在其后）。

在有多个斑点且需要确定斑点与斑点之间位置的情况下，SortBlobs 函数十分有用。

## SortBlobs 输入

参数 | 说明
斑点 | 此参数使用对包含要排序的 Blobs 数据结构的电子表格单元格的单元格引用。
要排序的数量 | 指定了最多返回的斑点数目 (1 至 4096; 默认 = 3)。 注意:如果此参数的值大于零，SortBlobs 将自动插入一个结果表，其中最多包含 10 个条目，这些条目对应于 Blobs 数据结构中的前 10 个斑点。如果需要显示所有项目，您可以通过复制最后行并在之后粘贴多余的行来扩充列表；递增任何新粘贴行的索引以确保斑点被正常索引。
排序方式 | 指定引用的斑点将如何被测量和分类排序。
0 = Y（默认） | 沿固定 y 坐标按距离排序，从小到大。
1 = X | 沿固定 x 坐标按距离排序，从小到大。
2 = 角度 | 根据在斑点质心和固定坐标原点中定义的从固定坐标系 y 轴到线段的测量，按角度分类排序 (0 至 360 度), 从最近到最远降序排列。
3 = 角度距离 | 根据在斑点质心和固定原点中定义的从固定坐标系 x 轴到线段之间的角度（-180° 到 180°）绝对值进行分类排序，从最近到最远降序排列。
4 = 距离 | 根据从固定原点到斑点质心的距离，从最近到最远降序排列。
5 = 网格 Y | 首先按固定 y 坐标的距离排序，然后按 x 坐标的距离，从最近到最远，按降序排列。 注意:如果选择了网格 Y 并且函数引用了已校准为实际标值的图像，例如CalibrateImage或TransBlobsToWorld函数的输出，SortBlobs 将返回 #ERR。网格 Y 排序只能运用于像素坐标上。
6 = 网格 X | 首先按固定 x 坐标的距离排序，然后按 y 轴的距离，从最近到最远，按降序排列。 注意:如果选择了网格 X 并且函数引用了已校准为实际标值的图像，例如CalibrateImage或TransBlobsToWorld函数的输出，SortBlobs 将返回 #ERR。网格 X排序只能应用在像素坐标上。
7 = 宽度 | 根据宽度值排序，从最大到最小。
8 = 高度 | 根据高度值排序，从最大到最小。
固定 | 定义根据固定输入或视觉工具函数图像坐标系统输出而引用的斑点中心（质心）。根据“固定坐标”来设置引用的斑点质心可以确保如果“固定坐标” 被旋转或转换，相应的引用斑点也会根据“固定坐标”而旋转或转换。 默认设置为(0,0,0)，图像的最左上方。
X | 图像坐标中的 X 偏移。
Y | 图像坐标中的 Y 偏移。
Theta | 图像坐标系中图像 X 轴的旋转。（顺时针 +/-360 度）
显示 | 指定 SortBlobs 在图像上的图形叠加显示模式。
0 = 隐藏所有（默认值） | 隐藏所有图形，除了在电子表格中突出显示的含有 SortBlobs 函数的单元格。
1 = 仅结果图形 | 斑点轮廓在任何时候都会显示。

## SortBlobs 输出

返回 | 包含已排序斑点的 Blobs 数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将 SortBlobs 插入单元格时，会在电子表格中创建一个结果表。 注意:如果要排序的数量参数的值大于零，SortBlobs 将自动插入一个结果表，其中最多包含 10 个条目，这些条目对应于 Blobs 数据结构中的前 10 个斑点。如果需要显示所有项目，您可以通过复制最后行并在之后粘贴多余的行来扩充列表；递增任何新粘贴行的索引以确保斑点被正常索引。 以下斑点Vision Data Access functions自动插入到电子表格中以创建 SortBlobs 数据结构结果表：
标签 | 函数 | 说明
索引 |  | 斑点索引
X | GetX(斑点, 斑点索引) | 返回引用的斑点的质心的 x 坐标。
Y | GetY(斑点, 斑点索引) | 返回引用的斑点的质心的 y 坐标。
角度 | GetAngle(斑点, 斑点索引) | 返回所引用的斑点中心相对于 ROI 中心的角度。
颜色 | GetColor(斑点, 斑点索引) | 返回所引用斑点的色彩值 (0 = 黑色, 1 = 白色)。
分数 | GetScore(斑点, 斑点索引) | 衡量斑点与 FindBlobs 函数所指定标准的匹配程度。
面积 | GetArea(斑点, 斑点索引) | 返回所引用斑点的面积（以像素为单位测量）。 注意:如果斑点中有孔，则面积值将根据填充孔复选框是启用还是禁用而有所不同。
拉伸值 | GetElongation(斑点, 斑点索引) | 返回一个代表所引用斑点像素从斑点质点拉伸程度的值。例如，圆的拉伸值值为 0， 而钉子可能会含有较高的拉伸值。
孔 | GetHoles(斑点, 斑点索引) | 返回在所引用斑点中含有的孔的数目。
周长 | GetPerimeter(斑点, 斑点) | 返回所引用斑点边界的长度；该周长将根据计算斑点边界外沿的像素而得出。
扩散 | GetSpread(斑点, 斑点索引) | 返回一个代表所引用斑点像素从斑点中心（质点）分布的值。例如，圆形对象的扩散值比椭圆形对象的值小。