# InspectEdge 函数

InspectEdge 视觉工具用于执行高级边缘分析，检查物体边缘是否存在偏差，例如裂缝、刻痕、凹陷或皱折。这些工具通常用于开发有关对象内部或外部特征的精确位置的详细信息，并确定这些特征是否存在缺陷。

InspectEdge 函数使用边缘模式方法定位图像中的边缘或边缘对，其中使用一维内核在单个卡尺内检测边缘峰值。使用定义理想边缘或边缘对的InspectEdgeForDefect、InspectEdgePosition 和/或 InspectEdgeWidth 函数创建边缘模型，并将后续候选边缘与边缘模型进行比较以确定候选边缘中是否存在缺陷或间隙。

在确定图像中感兴趣的边缘或边缘对的位置和方向后，将在应用工具时执行以下步骤：

- 使用 InspectEdge 函数指定包含感兴趣边缘或边缘对的 ROI 和卡尺，以及隔离感兴趣边缘的卡尺、最小对比度和边缘宽度参数值。
- 使用 InspectEdgeForDefect、InspectEdgePosition 和/或 InspectEdgeWidth 函数定义描述感兴趣的边缘或边缘对的边缘模型。

## InspectEdge 边缘检测

使用 InspectEdge 视觉工具的第一步是指定图像中要应用该工具的感兴趣区域。InspectEdge 函数依赖于仔细定义的 ROI 将相关边缘信息与图像隔离开来。

您可以指定 ROI 来确定该工具应在图像中哪个位置通过以下方式之一检测图像中的边缘或边缘对：

- 使用 InspectEdge Region 参数定义位置、大小、角度、弯曲和/或旋转。
- 构造一个外部 ROI，例如 EditMaskedRegion 或 EditPolylinePath。

定位 ROI 时，确保感兴趣的边缘与 ROI 的搜索方向平行，并且 ROI 尽可能多地包围边缘，同时还要排除 ROI 中不必要或不需要的噪声。

在 InspectEdge 函数的 ROI 中，卡尺阵列用于生成包含感兴趣边缘的图像部分的一维表示。该一维图像不仅包含感兴趣的边缘，还包含由原始图像中的噪声和不需要的信息引起的其他边缘。将 InspectEdge 中的卡尺、边缘宽度和最小对比度参数应用于一维图像可增加感兴趣边缘的强度，同时降低图像噪声。

### 使用 InspectEdgeForDefect、InspectEdgePosition 和/或 InspectEdgeWidth 定义边缘模型

一旦 InspectEdge 函数定位到图像中的边缘，InspectEdgeForDefect、InspectEdgePosition 和/或 InspectEdgeWidth 函数用于创建预期在检查期间遇到的边缘的边缘模型。图像中的边缘称为候选边缘，而理想边缘称为边缘模型。创建边缘模型涉及定义最佳拟合线类型、要检测的边缘类型（单条边缘或边缘对）、边缘过渡、边缘评分规则、线拟合规则以及要检查的缺陷和/或间隙类型。

InspectEdgeForDefect 用于基于边缘模型创建最佳拟合线，并检查与边缘模型的偏差。InspectEdgePosition 用于确定边相对于边模型的位置，并报告与模型的偏差，同时还可以选择创建最佳拟合线。InspectedWidth 用于检查一对边缘之间的距离偏差。

对于所有三个函数，在引用的 InspectEdge 函数将 ROI 划分为一系列卡尺后，对每个卡尺进行评估，并对其中的边缘进行评分，以确定应选择哪条边缘。对于位置缺陷，根据每个找到的边缘拟合线，并通过比较找到的边缘与线拟合以确定超出公差的偏差来确定缺陷。对于宽度缺陷，计算卡尺内发现的两个边缘之间的距离，以确定其距离，并通过将距离与预期范围进行比较来确定缺陷。

### 评估结果

对于图像中未能充分匹配边缘模型的每个候选边缘图案，如果指定，函数可以返回以下信息：

- 候选边缘图案相对于线拟合的位置。
- 在边缘图案候选中发现的任何缺陷或间隙的大小、区域和位置。

此外，您可以使用其他关联的 InspectEdge 视觉数据访问函数 函数收集附加信息，以便对 InspectEdge 视觉工具生成的数据自行处理和分析。