cv2.adaptiveThreshold 是 OpenCV 中的一个函数,用于对图像进行自适应阈值化处理。该函数可以自动确定每个像素的阈值,以便更好地分离前景和背景。

函数的输入参数包括:

  1. src:需要进行阈值化的原始图像,要求为单通道灰度图像。

  2. maxValue:设置二值化后最大的像素值,通常为 255。

  3. adaptiveMethod:自适应阈值化算法类型,有两种可选:

    cv2.ADAPTIVE_THRESH_MEAN_C:根据邻域均值确定阈值。

    cv2.ADAPTIVE_THRESH_GAUSSIAN_C:根据邻域加权均值确定阈值,权重为高斯窗口函数。

  4. thresholdType:二值化类型,有两种可选:

    cv2.THRESH_BINARY:大于阈值的像素值设置为 maxValue,小于等于阈值的像素值设置为 0。

    cv2.THRESH_BINARY_INV:大于阈值的像素值设置为 0,小于等于阈值的像素值设置为 maxValue。

  5. blockSize:邻域大小,用于计算阈值。

  6. C:常数值,用于调整阈值。阈值 T 的计算公式为:

    T = mean(x) - C

    T = gaussian(x) - C

    其中,x 为邻域像素值,mean(x) 和 gaussian(x) 分别为邻域均值和邻域加权均值。

  7. dst:输出结果图像。

示例代码:

import cv2

img = cv2.imread('test.png', 0)

# 自适应阈值化处理
dst = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY_INV, 11, 2)

cv2.imshow('src', img)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
OpenCV 自适应阈值化处理 - cv2.adaptiveThreshold 函数详解

原文地址: https://www.cveoy.top/t/topic/nuht 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录