图像阈值分割

功能描述

该步骤可通过设定的阈值筛选图像像素,并按设定规则对阈值上下的像素分别进行二值化处理。

注解

当图像中的像素灰度值只有最大值和最小值两种取值时,即“非黑即白”,这种图像称为二值图像。

将非二值图像经过计算变成二值图像的过程称为图像的二值化。

../../../../../_images/functional_description2.png

使用场景

该步骤为通用的图像处理步骤,一般用于在 2D 图像上分割满足阈值条件的像素。

输入与输出

../../../../../_images/input_and_output8.png

参数说明

该步骤提供了四种分割类型,用于选择将特征物体与背景分割的方法。

  • AdaptiveThreshold 分割类型: 全局自适应阈值方法。该方法包括两种分割操作类型(THRESH_BINARY、THRESH_BINARY_INV)。

  • DualThreshold 分割类型: 双阈值方法。该方法通过设置高/低阈值,分割满足阈值条件的像素。

  • DynamicThreshold 分割类型: 动态阈值方法。该方法提供了四种阈值分割类型(Light、Dark、InRange、OutOfRange)和三种图像滤波方法(均值滤波、高斯滤波、中值过滤),此外,还可设置一些辅助参数(像素值偏置、滤波核大小)。

  • Threshold 分割类型: 全局固定阈值。该方法可先设定一个固定的阈值,然后可通过七种分割操作类型(THRESH_BINARY、THRESH_BINARY_INV、THRESH_TRUNC、THRESH_TOZERO、THRESH_TOZERO_INV、THRESH_OTSU、THRESH_TRIANGLE)分割满足阈值条件的像素。

AdaptiveThreshold 分割类型

分割操作类型
参数解释:该参数用于选择分割特征物体与背景的操作类型。
值列表:THRESH_BINARY、THRESH_BINARY_INV
  • THRESH_BINARY:可生成强度高于阈值的像素的掩膜图像。

  • THRESH_BINARY_INV:可生成强度低于阈值的像素的掩膜图像。

默认值:THRESH_BINARY
调节建议:根据实际需求选择对应的分割操作类型。

DualThreshold 分割类型

低阈值
参数解释:若将低阈值设置为低于高阈值,介于高/低阈值之间的像素的值将被设置为 255,其他像素值为 0;若将低阈值设置为高于高阈值,超出高/低阈值区间的像素将被设置为 255,其他像素值为 0。
默认值:0
调节建议:根据实际需求设置合适的值。
高阈值
参数解释:同“低阈值”。
默认值:100
调节建议:根据实际需求设置合适的值。

DynamicThreshold 分割类型

阈值分割类型
参数解释:该参数用于设置哪些像素应设置为 255,哪些像素应设置为 0。
值列表:亮区、暗区、范围内、范围外。若令 \(P_o\) 为原始图像中的某像素, \(P_f\) 为滤波后图像中 \(P_o\) 对应位置的像素, \(offset\)像素值偏置 参数值,则各阈值分割类型解释如下:
  • 亮区:若 \(P_o ≥ P_f + offset\) ,则将 \(P_o\) 设为 255,否则为 0。

  • 暗区:若 \(P_o ≤ P_f - offset\) ,则将 \(P_o\) 设为 255,否则为 0。

  • 范围内:若 \(P_f - offset ≤ P_o ≤ P_f + offset\) ,则将 \(P_o\) 设为 255,否则为 0。

  • 范围外:若 \(P_o < P_f - offset\)\(P_o > P_f + offset\) ,则将 \(P_o\) 设为 255,否则为 0。

图像滤波方法
参数解释:该参数用于选择图像滤波的方法。
值列表:均值滤波、高斯滤波、中值过滤。
  • 均值滤波:该方法可通过将滑动窗口中的中心值替换为窗口中所有像素值的平均值来平滑图像。

  • 高斯滤波:该方法可平滑图像并去除细节和噪声。

  • 中值过滤:该方法可用窗口中相邻像素的中值替换每个像素。

默认值:均值滤波。
调节建议:根据实际需求设置合适的图像滤波方法。
滤波核大小
参数解释:该参数用于设置图像滤波的滑动窗口的边长,单位为像素(px)。
默认值:3
调节说明:由于窗口中应该始终有一个中心像素,所以请输入一个奇数。输入的偶数将被加一。
像素值偏置
参数解释:在图像滤波后,该参数用于设置图像中所有像素的像素值偏置。
默认值:15.00

Threshold 分割类型

阈值(0~255)
参数解释:该参数用于设置筛选图像像素的阈值。
默认值:128
调节建议:根据实际需求设置合适的值。
分割操作类型
参数解释:该参数用于选择分割特征物体与背景的操作类型。
值列表:THRESH_BINARY、THRESH_BINARY_INV、THRESH_TRUNC、THRESH_TOZERO、THRESH_TOZERO_INV、THRESH_OTSU、THRESH_TRIANGLE
  • THRESH_BINARY:图像像素灰度值大于设定的阈值时,将其值设为 255,否则设为 0。

  • THRESH_BINARY_INV:图像像素灰度值大于设定的阈值时,将其值设为 0,否则设为 255。

  • THRESH_TRUNC:图像像素灰度值大于设定的阈值时,将其值设为设定的阈值,否则保留原始像素灰度值。

  • THRESH_TOZERO:图像像素灰度值大于设定的阈值时,保留原始像素灰度值,否则设为 0。

  • THRESH_TOZERO_INV:图像像素灰度值大于设定的阈值时,将其值设为 0,否则保留原始像素灰度值。

  • THRESH_OTSU:使用“大律法”寻找全局阈值。

  • THRESH_TRIANGLE:使用“三角形法”寻找全局阈值。

默认值:THRESH_BINARY
调节建议:建议使用 THRESH_BINARY、THRESH_BINARY_INV 操作类型。