使用OpenCV库的cv2.adaptiveThreshold()
函数可以进行自适应阈值二值化。该函数接受以下参数:
src
:输入图像,必须为单通道灰度图像。maxValue
:指定高于(或低于)阈值时设置的像素值。adaptiveMethod
:指定自适应阈值算法的类型,可选项包括cv2.ADAPTIVE_THRESH_MEAN_C
和cv2.ADAPTIVE_THRESH_GAUSSIAN_C
。thresholdType
:指定使用的阈值类型,一般选择cv2.THRESH_BINARY
或者cv2.THRESH_BINARY_INV
。blockSize
:邻域大小,用于计算局部阈值。该值必须是奇数且大于1。C
:从均值或加权均值中减去的常数。
下面是一个示例代码片段:
import cv2
# 读取图像
image = cv2.imread('image.jpg', 0)
# 自适应阈值二值化
thresh = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 5)
# 显示结果
cv2.imshow('Original Image', image)
cv2.imshow('Adaptive Thresholding', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,使用了平均自适应阈值算法(ADAPTIVE_THRESH_MEAN_C
)和二进制阈值类型(THRESH_BINARY
)。你可以根据需要调整参数,以适应不同的图像和需求。
内容由零声教学AI助手提供,问题来源于学员提问