OpenCV 4.10.0
开源计算机视觉
|
在这里,问题很简单。如果像素值大于一个阈值,则为其指定一个值(可以是白色),否则为其指定另一个值(可以是黑色)。
我们使用函数:cv.threshold (src, dst, thresh, maxval, type)
src | 输入数组。 |
dst | 输出数组,与 src 具有相同的尺寸和类型以及相同数量的通道。 |
thresh | 阈值。 |
maxval | 对于 cv.THRESH_BINARY 和 cv.THRESH_BINARY_INV 阈值处理类型,要使用的最大值。 |
type | 阈值处理类型(见 cv.ThresholdTypes)。 |
阈值处理类型 - OpenCV 提供了不同风格的阈值处理,由函数的第四个参数决定。不同的类型有
在上节中,我们使用一个全局值作为阈值。但这可能并不适用于所有条件,因为图像的不同区域具有不同的照明条件。在那种情况下,我们进行自适应阈值处理。在自适应阈值处理中,算法为图像的一小块区域计算阈值。因此,对于同一图像的不同区域,我们得到不同的阈值,这对具有不同照明的图像来说,会给我们更好的结果。
我们使用该函数:cv.adaptiveThreshold (src, dst, maxValue, adaptiveMethod, thresholdType, blockSize, C)
src | 源 8 位单通道图像。 |
dst | 与 src 相同大小且同类型的大招图片。 |
maxValue | 当条件满足时,赋予像素的非零值 |
adaptiveMethod | 要使用的自适应阈值算法。 |
thresholdType | 必须为 cv.THRESH_BINARY 或 cv.THRESH_BINARY_INV 的阈值类型。 |
blockSize | 用于计算像素阈值大小的像素邻域:3、5、7 等。 |
C | 减去均值或加权均值(更多详情见下文)的常数。通常为正数,但也可以为零或负数。 |
adaptiveMethod - 决定如何计算阈值