跳转到内容

Relative Thresholding vTool#

Relative Thresholding vTool 允许您通过创建相对阈值来分割图像,使图像中的特征更容易区分。

Relative Thresholding vTool 将输入图像分割成一个区域,该区域仅包含灰度值高于阈值且具有您指定的极性的像素。使用 Relative Thresholding 分割小的局部特征,或者当无法在整个图像中定义固定阈值来成功分割图像时,例如,因为图像背景的灰度值变化很大。

Relative Thresholding vTool 通过 Image 输入引脚接收图像,并通过 Region 输出引脚输出单个区域。

如果在进行阈值处理之前使用 ROI Creator vTool 指定感兴趣区域,Relative Thresholding vTool 会通过其 Roi 输入引脚接受 ROI 数据。在这种情况下,只对感兴趣区域执行阈值处理。

Relative Thresholding vTool 的区域输出还可用作具有 ROI 输入引脚的 vTools 的 ROI 输入。有关更多信息,请参阅 ROI Creator vTool 主题。

Relative Thresholding vTool

运作原理#

下图显示了典型的输入图像和相应的直方图。它表明灰度值分布在整个范围内或多或少是均匀分布。这通常源于整个图像上的连续阴影。

Relative Thresholding 输入图像

Relative Thresholding 直方图原始图像

在这种情况下,不可能找到合适的阈值来将对象特征从图像的其余部分中分离出来。一般来说,所需区域的灰度值与背景区域的灰度值在相同的范围内。因此,无法将前景和背景像素分离。

此 vTool 使用的相对图像使得目标特征更加可区分。下图显示了相对图像的直方图。可以看到灰度值分布类似于平均强度为零的正态分布。

Relative Thresholding 直方图中间图像

为了创建相对图像,输入图像通过 vTool 设置中指定大小的均方滤波器进行平滑处理。结果是 reference image

从输入图像中减去参考图像以创建 relative image,这是分割决策的基础。

Relative Threshold 设置定义了分割的边界,即直方图中较暗部分与相似部分之间以及相似部分与较亮部分之间的边界。

最后一步是选择极性以指定相对图像的哪一部分包含在输出区域中。可以使用以下极性:

  • Darker: 灰度值小于或等于负阈值的所有像素都包含在输出区域中。
  • Lighter: 灰度值大于或等于正阈值的所有像素都包含在输出区域中。
  • Similar: 在负阈值和正阈值之间的直方图中心部分的所有像素都包含在输出区域中。
  • Darker of lighter: 位于分布低端或高端的所有像素都包含在输出区域中。

示例图像的结果如下所示。输出区域包含电路板的期望特征。如果 Relative Thresholding 的结果仍然有噪声,使用 Region Morphology vTool 作为后处理步骤可能有助于减少噪声。

Relative Thresholding 分割结果

信息

为了检测局部特征,选择比特征的最小尺寸大约大三倍的滤波器大小。

如果您想要使用 Relative Thresholding 分割较大的对象,这些对象或多或少地填充整个图像,则无法选择合适的滤波器大小。因此,您必须从分割目标对象的边界开始。然后,使用 Region Morphology vTool 分割区域,接着进行区域填充。

配置 vTool#

要配置 Relative Thresholding vTool:

Relative Thresholding vTool 设置

  1. vTool 设置区域的配方管理窗格中,单击打开设置或双击 vTool。
    Relative Thresholding Basic 对话框即打开。
  2. 指定用于创建参考图像的滤波器大小。
  3. 指定相对阈值。
  4. 选择所需的极性。

您可以在引脚数据视图中查看阈值处理的结果。在这里,您可以选择要显示的输出。

输入#

图像#

直接从 Camera vTool 或从输出图像的 vTool(例如 Image Format Converter vTool)接受图像。

  • 数据类型:图像
  • 图像格式:8 位到 16 位单色或彩色图像。彩色图像在内部转换为单色图像。

ROI#

从 ROI Creator vTool 或任何其他可输出区域或矩形的 vTool 中接受感兴趣区域。多个矩形或区域在内部合并以形成单个感兴趣区域。

  • 数据类型:RectangleF、RectangleF 数组、区域、区域数组

输出#

区域#

返回单个区域,该区域仅包含灰度值高于阈值且具有您指定的极性的像素。

  • 数据类型:区域

典型前置项#

典型后置项#