筛选

生成输出图像,其中每个像素都是输入图像或指定感兴趣区域 (ROI) 中图像增强技术的结果。

筛选 概述

筛选器是一种多用途函数,用于生成用于增强低对比度图像和/或暴露图像中特征的图像。对于大多数零件,此函数有助于突出所需的特征,并将不需要的特征最小化。有效使用时,该函数使检查应用程序更加可靠和可重复。

筛选函数提供了全方位的局部和全局图像增强技术;图像增强技术是通过选择筛选类型来定义的。

使用筛选器函数

设置筛选器函数涉及通过选择用于增强图像的筛选类型来识别图像增强技术。

  1. 首先,加载图像。在电子表格中插入筛选器函数,并调整其区域以包围将被增强的图像区域。配置区域时,请确保它只包含图像中需要增强的区域。包围不需要增强的区域将影响图像增强技术的应用方式和函数的执行时间。
  2. 接着,选择合适的筛选类型。根据选择的筛选类型,将启用其他参数,以进一步定义如何应用该技术。调整启用的参数以达到所需的图像增强效果。
注意
  • 如果需要增强的图像区域会出现运动,请使用固定确保该区域随该区域相应移动。
  • 配置函数后,加载其他图像,并根据需要调整参数,以确保在整个图像范围内正确应用图像增强技术。

筛选 输入

参数 说明

图像

此参数必须在包含图像数据结构的电子表格单元格中使用单元格引用;默认情况下,此参数引用 A0,即包含由 函数返回的图像数据结构的单元格。此参数还可以引用其他图像数据结构,例如视觉工具图像函数返回的那些数据结构。

固定

定义相对于固定输入或视觉工具函数的图像坐标系输出的感兴趣区域 (ROI)。根据“固定坐标”来设置的 ROI 可以确保如果“固定坐标” 被旋转或转换,相应的 ROI 也会根据“固定坐标”而旋转或转换。

默认设置为(0,0,0),图像的最左上方。

X

图像坐标中的 X 偏移。

Y

图像坐标中的 Y 偏移。

Theta

图像坐标系中图像 X 轴的旋转。(顺时针 +/-360 度)

区域

也称为感兴趣区域 (ROI),指定要进行分析的图像区域。双击区域参数以创建可以变换和旋转的交互图形模式。选择此参数并按属性表的作业编辑工具栏上的最大化区域按钮,自动拉伸区域以覆盖整个图像。

X

在固定坐标中,偏移原点的 x 值。

Y

在固定坐标中,偏移原点的 y 值。

宽度

沿着区域的 x 轴的维度。

高度

沿着区域的 y 轴的维度。

角度

在固定坐标上的方向。

注意固定区域参数必须在图像的范围内定义;否则,该函数将返回 #ERR。

外部区域

指定对包含控件函数数据结构的电子表格单元格的单元格引用。使用此参数时,该函数将忽略区域固定设置并检查引用区域指定的图像区域。

注意
  • 如果此参数已设置为对外部区域的引用,要使用函数的内部区域,必须通过输入值 0 代替单元格引用手动将此参数设置为零。否则,该函数将继续引用外部区域。

筛选类型

指定要执行的图像增强技术的类型;结果显示在灰度输出图像中。

0 = 二值化(默认值)

指定黑白(“二进制”)阈值运算,该操作将每个输入像素与阈值级别进行比较,以确定输出像素是白色还是黑色。等于或高于阈值参数值的输入像素值为白色;低于阈值的值为黑色。

注意 当使用彩色输入图像时,输出图像将是灰度图像。

1 = 底部值

指定一个“底部值”筛选操作,该操作筛选掉除小于内核邻域大小的暗特征以外的所有内容。结果是一个输出图像,该图像将这些暗特征显示为暗背景上的亮像素。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

2 = 裁剪

指定“剪裁”操作,以消除灰度光谱的极端端点,从而使输出图像中的特征更加均匀。此操作将每个输入像素的灰度值与最小和最大参数值进行比较:

  • 如果输入像素值等于或超过最小值或最大值,则输出像素分别被分配(“裁剪”到)最小值或最大值。
  • 如果输入像素值在最小值和最大值之间,则为输出像素分配输入像素的值。

3 = 关闭

指定“关闭”操作,该操作先执行膨胀,然后执行腐蚀,以筛选掉小于内核邻域大小的暗特征。关闭图像可减少或完全删除图像的暗区。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

4 = 扩大

指定“扩大”操作,该操作可增强图像的明亮特征,同时抑制较暗的特征。所得到的输出图像具有更大的明亮像素区域。用于去除深色斑点。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

5 = 边缘幅值

指定一个操作来显示输入图像膨胀和腐蚀之间的差异。在所得到的输出图像中,边缘使用亮像素表示。虽然与类似,但此操作更复杂(且速度较慢),允许表示对角线方向的边。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

6 = 均衡

指定一个直方图均衡化操作,该操作提取输入图像的直方图并展开最常见的灰度值,以创建更均匀分布。所得到的输出图像具有更高对比度。这种类型的筛选在以下环境中很有用:一个图像到另一个图像的照明可能略有不同,或者被检查对象的某些方面可能略有不同。

7 = 侵蚀

指定减少图像明亮特征的“侵蚀”操作。所得到的输出图像具有更大的深色像素区域。用于去除光点、噪声像素和/或小缺陷。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

8 = 填补深色孔

指定“像素填充”操作,其中由亮像素包围的暗像素转换为亮像素。所得到的输出图像中的深色孔会被填充。

9 = 填充浅色孔

指定“像素填充”操作,其中由暗像素包围的亮像素转换为暗像素。所得到的输出图像中的浅色孔会被填充。

10 = 完全梯度

指定一个“垂直和水平梯度”操作,在该操作生成的输出图像中,垂直和水平方向的边缘都由亮像素表示。虽然与“边缘幅值”类似,但此操作更简单、更快速,并且不表示对角线方向的边缘。

11 = 水平梯度

指定“水平梯度”操作,在该操作生成的输出图像中,水平方向的边缘由亮像素表示。

12 = 垂直梯度

指定“垂直梯度”操作,在该操作生成的输出图像中,垂直方向的边缘由亮像素表示。

13 = 灰度距离

将每个输出像素的灰度值指定为每个输入像素的灰度值与阈值之间的差值(例如,如果输入像素值为100,阈值为 25,则输出像素值将为 75),这由阈值参数确定。

14 = 高通

指定一个“高通”操作,在该操作生成的输出图像中,边缘相对于具有更一致灰度梯度的区域得到增强。这种类型的筛选有助于突出细微特征。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

15 = 反转

指定基于 256 步灰度的像素值反转,以产生输入图像的“负”输出图像(例如,反转输入像素值 10 将产生输出像素值 245)。

17 = 局部中值

指定在内核附近的像素值中计算中值像素值的操作,然后使用此结果作为输出图像的像素值。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

18 = 局部中值归一化

指定要减去的图像的背景的方式;该操作会从输入图像中减去输入图像的局部平均值,将结果往右移一位,然后加上 128 以产生输出像素的值。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

19 = 低通

指定一个“低通”操作,在该操作生成的输出图像中,边缘得到平滑或模糊处理。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

20 = 最大值(顶部值/底部值)

指定使用最大顶部值和底部值操作的操作。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

21 = 打开

指定“打开”操作,该操作首先执行腐蚀,然后执行膨胀,以筛选掉小于内核邻域区大小的亮特征。结果是输出图像的整体亮度略有降低,去除了少量的亮像素并增强了剩余的亮特征。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

22 = 光密度

指定基于对数比例的像素值反转

  • 输出像素值 = 100 * log (255) - 100 * log(输入像素值)

所得到的输出图像通过度量穿过的光量来指示输入图像中物体和特征的密度。密度较高的对象和特征在输出图像中以较浅的像素表示。

23 = 锐化

指定用于提升边缘“锐度”的操作。该操作计算相邻像素间的对比度,并在对比度高的时候提高对比度。相邻像素之间拥有大的对比度通常代表边缘,但此操作不能被用来定位边缘。该操作是否有用将取决于图像的内容和分辨率。

  • 低平滑度和高平滑度参数用于通过创建高斯核来识别边缘。由这两个参数定义的范围应该包含被增强的特征的大小。默认情况下,“低平滑度”参数设置为 0,因此任何大小的特征的边缘都会得到同等增强。
  • 平滑度参数用于通过创建高斯核来识别边缘。
  • 增益参数规定了锐化的强度,阈值参数用于降低噪声,在锐化过程中指定筛选以忽略一些像素间的差异,以使得轻纹理的区域不会被过度锐化。

24 = 拉伸

指定灰度拉伸操作,该操作将输入图像中的灰度值(基于“最小”和“最大”参数设置)线性“放大”或“拉伸”到完整的 256 步灰度,从而生成对比度增强的输出图像。如果输入像素值等于或超过最小值或最大值,则输出像素将分别指定为 0 或 255。对于最小值和最大值内的输入像素值,它们将被线性拉伸到 0 到 255 的范围内。例如,如果最小值为 50,最大值为 180,则操作会从每个像素的强度中减去 50,使范围从 0 到 130。然后将每个像素强度乘以 255/130,得到 0 到 255 的范围。

25 = 阈值范围

指定黑白(“二进制”)阈值操作,将每个输入像素与两个阈值(最小值和最大值)进行比较,以确定输出像素是背景还是前景。如果输入像素值在最小值和最大值之间,则输出像素保持其值,否则,将输出像素设置为背景级别。

注意如果最小值大于最大值,则反转背景。

26 = 顶部值

指定“顶部值”筛选操作,它筛选掉除了小于内核邻域大小的明亮特征之外的所有内容。结果是输出图像将这些明亮的特征显示为暗背景上的明亮像素。

注意此操作启用内核行内核列参数。内核必须从整数的奇数值上开始建立。

内核行

指定内核的行数(1–25; 默认 = 3)。内核是一个数字的矩形阵列,该数字矩形阵列规定了在图像每个像素位置执行操作的处理区域。像素相邻的灰度值指定了在输出图像中该像素位置的灰度值。

注意
  • 内核未加权。
  • 内核必须从整数的奇数值上开始建立。典型的内核大小为 3 x 3,但尺寸可以是任意的。

当设置为以下之一时,此参数“筛选类型”被启用:

  • 底部值
  • 关闭
  • 膨胀
  • 边缘幅值
  • 腐蚀
  • 腐蚀减膨胀
  • 高通
  • 局部中值归一化
  • 局部中值
  • 局部中值归一化
  • 低通
  • 最大(顶部值/底部值)
  • 打开
  • 顶部值

内核列

指定内核的列数(1–25; 默认 = 3)。内核是一个数字的矩形阵列,该数字矩形阵列规定了在图像每个像素位置执行操作的处理区域。像素相邻的灰度值指定了在输出图像中该像素位置的灰度值。

注意
  • 内核未加权。
  • 内核必须从整数的奇数值上开始建立。典型的内核大小为 3 x 3,但尺寸可以是任意的。

当筛选类型设置为以下之一时,此参数过滤类型被启用:

  • 底部值
  • 关闭
  • 膨胀
  • 边缘幅值
  • 腐蚀
  • 腐蚀减膨胀
  • 高通
  • 局部中值归一化
  • 局部中值
  • 局部中值归一化
  • 低通
  • 最大(顶部值/底部值)
  • 打开
  • 顶部值

自动阈值

指定当筛选类型设置为二值化、灰度距离或阈值范围时,函数是否将自动确定阈值级别。

注意该参数默认启用。要使用阈值参数,请禁用此参数。
  • 启用后,筛选设置为二值化,该函数会根据指定区域内的灰度值自动计算阈值级别。
  • 启用后,筛选类型设置为灰度距离,该函数将根据指定区域内的平均灰度值自动计算阈值。
  • 启用后,筛选类型设置为阈值范围,将自动应用以下内容:
    • 如果像素值小于最小参数设置,或者像素值大于最大参数设置,则将像素值设置为背景。
    • 当像素值在最小和最大参数设置范围内时,像素值会被设置为前景像素值。

阈值

当筛选类型设置为二值化、灰度距离、锐化或阈值范围时,指定阈值级别(0 到 255;默认值 = 128)

注意
  • 自动阈值参数默认启用;禁用它以启用此参数。
  • 如果筛选类型设置为锐化,此参数用作降噪设置,并指示函数在锐化时忽略一定量的像素之间的差异,从而使清纹理区域不会过度锐化。

最小

当筛选类型设置为裁剪、拉伸或阈值范围时定义最小灰度值(0 至 255;默认 = 128)

最大

当筛选类型设置为裁剪、拉伸或阈值范围时定义最大灰度值(0 至 255;默认 = 128)

增益

当筛选类型被设置为锐化时定义增益值(0 至 10;默认 = 1)。该参数规定了会被用来控制优化边缘对比度量的锐化强度。在边缘附近的像素会被修改为它们的最大或最小值以创建一个更清晰的边缘外观。

平滑度

当筛选类型被设置为锐化时定义内部高斯曲线(用于识别边缘)的平滑度值(1 至 4;默认 = 1)。平滑度被用来控制内部高斯曲线的标准偏差;更高的平滑度值会导致可以在更宽的“光圈”上进行平滑操作以帮助锐化功能。

注意高斯曲线指的是一个在 ROI 中对像素进行平均加权的钟型的曲线。

显示

指定哪些图形叠加显示在图像上面。

0 = 隐藏所有(默认)

输入图像区域将被隐藏,除非在电子表格中突出显示包含筛选器函数的单元格。

1 = 仅结果图形

处理后的图像将始终显示。

2 = 仅输入图形

输入图像区域将始终显示。

筛选 输出

返回

包含已处理图像的图像数据结构,如果任何输入参数无效,则为 #ERR。

注意
  • 图像数据结构中已处理的图像区域的内容不与作业一起保存。
  • 可以通过图像 视觉数据访问函数函数访问有关函数返回值的附加信息。