# InspectEdge

InspectEdge 函数用于执行高级边缘分析。在函数引用的感兴趣区域 (ROI) 中，一组索引的边缘检测子区域（称为卡尺）通过定位图像中的边缘或边缘对来开发有关特征精确位置的详细信息。此信息用于确定边缘或特征的位置、边缘对的位置和间距，以及测量图像中对象的宽度。

## InspectEdge 概述

插入 InspectEdge 函数后，将使用函数自己的内部区域或作为对外部 ROI 的参考（例如 EditMaskedRegion 或 EditPolylinePath）建立 ROI，以确定该工具应在图像中的哪个位置检测边缘或边缘对。参考的 ROI 被分割成单独的卡尺，其中每个卡尺将其中的像素投影到单个卷积中以进行边缘分析。

配置 ROI 后，需要执行以下步骤才能正确应用该函数：

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

有了 InspectEdge 函数，可以使用单个 InspectEdge 函数作为输入来执行多项检查。例如，在一个 InspectEdge ROI 内，InspectEdgeForDefect 函数可以参考该函数以确定位置缺陷，而 InspectEdgeWidth 函数执行单独的宽度测量，InspectEdgePosition 函数确定另一边缘的最佳拟合线。

注意： InspectEdge 需要最长的 InspectEdge 视觉工具执行时间。增加 ROI 内的卡尺数量将增加函数的计算时间。

## InspectEdge 输入

参数 | 说明
图像 | 此参数必须引用包含图像数据结构的电子表格单元格；默认情况下，此参数引用 A0，即包含数据结构的单元格。该参数还可以引用其他图像数据结构，例如由图像 视觉数据访问函数或坐标变换函数返回的数据结构
固定 | 定义相对于固定输入或视觉工具函数的图像坐标系输出的感兴趣区域 (ROI)。根据“固定坐标”来设置的 ROI 可以确保如果“固定坐标” 被旋转或转换，相应的 ROI 也会根据“固定坐标”而旋转或转换。 默认设置为(0,0,0)，图像的最左上方。
X（默认值 = 0） | 图像坐标中的 X 偏移。
Y（默认值 = 0） | 图像坐标中的 Y 偏移。
Theta (默认值 = 0) | 图像坐标系中图像 X 轴的旋转。（顺时针 +/-360 度）
区域 | 也称为感兴趣区域（ROI），指定图像中进行边缘分析的区域；创建一个可以变换和旋转的矩形区域交互式图形模式。如果选择了该参数，在属性表的工具栏中按“最大化区域”按钮时，区域会被自动拉伸并覆盖整个图像。黄色虚线表示找到边缘的方向。
X | 在固定坐标中，偏移原点的 x 值。
Y | 在固定坐标中，偏移原点的 y 值。
宽度 | 沿着区域的 x 轴的维度。
高度 | 沿着区域的 y 轴的维度。
角度 | 在固定坐标上的方向。
曲线 | 在区域 x 轴和相对的边界线之间的角度偏差。
注意： 固定和区域参数必须在图像的范围内定义；否则，该函数将返回 #ERR。
外部区域或路径 | 指定对包含环形、区域、EditAnnulus、EditMaskedRegion、EditPolylinePath或EditRegion函数的电子表格单元格的单元格引用。使用此参数时，该函数将忽略区域和固定设置并检查引用区域指定的图像区域。 注意： 如果此参数已设置为对外部区域的引用，要使用函数的内部区域，必须通过输入值 0 代替单元格引用手动将此参数设置为零。否则，该函数将继续引用外部区域。 如果此参数引用 EditPolylinePath ，则该函数不能用作对 InspectEdgeForDefect 或 InspectEdgePosition 函数的引用，这将返回 #ERR。
卡尺 | 指定 ROI 中用于定义可检测缺陷和/或间隙大小的卡尺阵列。可检测缺陷或间隙的大小由可检测边缘的数量决定，该数量由沿边缘放置的卡尺的数量决定。当 InspectEdge 单元格突出显示或显示参数设置为全部显示时，卡尺在 ROI 内显示为红色矩形，在卡尺内检测到的边缘显示为绿色。 注意： 根据检查的缺陷类型，卡尺可能会叠加放置。但是，在 ROI 中应用的卡尺越多，函数的执行时间就会越长。
高度 | 指定要沿检查方向要分析的每个卡尺的像素数。有效范围是 1 到 In-Sight 视觉系统的图像宽度；默认值为 5。
重复偏移 | 指定每个卡尺起点之间的像素数。有效范围是 0 到 In-Sight 视觉系统的图像宽度；默认值为 5。最后一个卡尺可能会与区域的末端重叠，除非启用了适合所有卡尺。
初始偏移 | 指定区域中第一个卡尺的偏移量。有效范围是 0 到 In-Sight 视觉系统的图像宽度；默认值为 0。
最小对比度 | 指定被视为边缘的最小灰度对比度过渡（0 到 255；默认值 = 5） 。对于每个带索引的卡尺，边缘响应图表与图像一起显示。图表中的值会自动缩放为 0-100 值。应用此参数时使用此图表来正确调整值。 示例 - 带有图表的最小对比度参数 注意： 边缘响应图表是一个可停靠窗口。有关详细信息，请参阅电子表格编辑器 - 图表主题。
边宽度 | 指定发生边缘过渡的像素距离（1 到区域宽度值；默认值 = 3） 。该设置是在提取边缘之前用于筛选灰度投影的像素运算符的近似大小；使用此设置筛选图像中的噪声。
调整所有卡尺 | 指定是否所有卡尺都放置在 ROI 内。
0 = OFF（默认） | 指定该函数严格遵守卡尺重复偏移和初始偏移参数，并且卡尺能会超出 ROI。
1 = ON | 指定该函数将自动重新计算卡尺重复偏移和初始偏移参数，以确保所有卡尺都放置在 ROI 内。
卡尺图形索引 | 指定要在图像上显示的卡尺（卡尺将以绿色轮廓显示）；显示的默认卡尺为 0。
折线宽度 | 指定 EditPolylinePath 的高度（1 到区域高度值；默认 = 20，最大值：1920） 。此参数与 InspectEdgeTrainBeadPath 函数结合使用以检查折线路径。
显示 | 指定图像顶部的 InspectEdge 图形叠加的显示模式。
0 = 隐藏所有（默认） | 所有图形都将隐藏，除非包含 InspectEdge 函数的单元格在电子表格中突出显示。
1 = 仅结果图形 | 始终显示卡尺图表和指定的卡尺。
2 = 输入和结果图形 | 始终显示输入图像区域、卡尺图形和指定的卡尺。
3 = 全部显示：输入、结果和卡尺 | 始终显示输入图像区域、卡尺图和 ROI 内的所有卡尺。

## InspectEdge 输出

返回 | 包含图像中检测到的边缘和卡尺数量的检查数据结构，如果任何输入参数无效，则为#ERR。
结果 | ROI 中卡尺的数量。