# 斑点

在机器视觉术语中，任何二维、可变形状和类似阴影的连接像素组都可以称为“斑点”。从图像中提取这些斑点、在感兴趣区域中找到它们并根据特定标准对它们进行排序的过程称为斑点分析。

## 什么是“斑点分析”？

In-Sight 斑点工具执行一种称为连通性分析的斑点分析，此步骤通过使用 DetectBlobs 函数完成。将 DetectBlobs 函数插入电子表格并配置其参数后，该函数将通过首先分割 ROI 开始执行分析。

在此过程中，“关注区域”(ROI)将根据灰度阈值被分两个类别：“斑点”和“背景”。该阈值将像素分割成两个类别：像素低于灰度阈值被归类为“黑色”；像素高于灰度阈值被归类为“白色”。

注意:注意：阈值可以通过使用 DetectBlobs 函数的阈值参数自动设定，通过试验和错误来进行的手动设置或通过对 直方图 函数计算结果的引用来确定。

在操作过程中，会检测像素并确定它们是否与周围像素连通。如果“斑点”像素和与其相邻的像素（在该像素两边、上边、下边或对角线方向的像素）的值接近，则该“斑点”可以被定义为与周边像素连通。如果一个“背景”像素与在其上面、下面及两边的其它像素值接近，则该“背景”像素可以被定义为与周边像素连通。

下图展示了 “In-Sight 斑点工具”如何分析一个图像。在这个例子中，灰度阈值 150 被用来将图像分割成“斑点”和“背景”像素。所有灰度值大于或等于 150 的像素被归类为“白色”，即“背景”像素，所有灰度值小于 150 的像素被归类为“黑色”，即“斑点”像素：

一旦斑点从图像中被提取出来，DetectBlobs 会自动创建 Blobs 数据结构和包含有关提取斑点的数据的结果表。返回的信息可以被 FindBlobs 和 SortBlobs 函数用来根据它们相对的物理特性和位置与其它找到的斑点进行筛选和排列。

注意:FindBlobs 和 SortBlobs 都必须引用 Blob 数据结构。此数据结构可以由 DetectBlobs、FindBlobs 或 SortBlobs 函数创建。

FindBlobs 函数将分析在“关注区域”(ROI)内的斑点并确定找到的斑点是否与指定的要求符合；符合要求的斑点会被返回并根据它们与要求的符合程度以从高到低的顺序打分。

SortBlobs 函数将分析在“关注区域”(ROI)内的斑点并确定斑点相对于固定坐标的位置。该函数对于确定斑点与斑点之间的位置非常有帮助，且一个 DetectBlobs 函数可以被用来一次寻找在“关注区域”(ROI)内的多个斑点。

## 何时使用“斑点分析”

“In-Sight 斑点分析工具”最适合用于以下情况：

- 该图像是一个二维对象。
- 该图像含有高对比度的明暗像素。

注意: “In-Sight 斑点工具”仅能用来分析灰度图像；所有彩色图像将被自动转化为灰度图像。

## 为什么使用“斑点分析”

满足特定情况时，斑点分析对于下列应用将非常有用：

- 粗略计量的应用；例如测量直径或正方形尺寸以确定部件在特定方向的宽度。
- 第一次定位应用；在该应用中“斑点工具”被用来快速定位并为其它工具粗略设定固定坐标。
- 存在/缺失应用；在该应用中“斑点工具”被用来确定斑点是否存在于图像中。
- 计数应用；在该应用中“斑点工具”可以被用来根据诸如面积或周长等特性对斑点进行计数和排序。

## 如何进行“斑点分析”

使用“In-Sight 斑点工具”时，斑点分析的过程可以被分为三个步骤：

步骤 1 – 检查图像并确定该图像是否符合使用斑点分析的条件和要求。

步骤 2 – 在电子表格中插入一个 DetectBlobs 函数并根据具体情况设置在图像中定位和识别斑点的参数。

步骤 3 – 在电子表格中插入一个 FindBlobs 或 SortBlobs 函数以根据斑点的物理特性或位置来筛选找到的斑点。