cv2.threshold()
函数用于对图像进行阈值化处理。它的参数如下:
src
:要处理的输入图像,可以是灰度图像或彩色图像,类型为uint8
。thresh
:设定的阈值,如果像素值大于阈值,则将其设为maxval
;否则将其设为0。maxval
:设定的最大值,用于设置大于阈值的像素值,默认为255。type
:阈值化的类型,有以下几种可选:cv2.THRESH_BINARY
:二值化阈值化,大于阈值的像素值设为maxval
,小于等于阈值的像素值设为0。cv2.THRESH_BINARY_INV
:反二值化阈值化,大于阈值的像素值设为0,小于等于阈值的像素值设为maxval
。cv2.THRESH_TRUNC
:截断阈值化,大于阈值的像素值设为阈值,小于等于阈值的像素值不变。cv2.THRESH_TOZERO
:阈值化为0,大于阈值的像素值不变,小于等于阈值的像素值设为0。cv2.THRESH_TOZERO_INV
:反阈值化为0,大于阈值的像素值设为0,小于等于阈值的像素值不变。
retval
:被忽略的返回值。
下面是一个示例代码,演示了如何使用cv2.threshold()
函数对图像进行阈值化处理:
import cv2# 读取图像
image = cv2.imread('image.jpg')# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 阈值化图像
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 显示结果
cv2.imshow('Original Image', image)
cv2.imshow('Thresholded Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个示例中,我们首先读取了一张图像,并将其转换为灰度图。然后通过cv2.threshold()
函数对灰度图像进行阈值化处理,将灰度值大于127的像素设为255,灰度值小于等于127的像素设为0。最后,我们显示了原始图像和阈值化图像。
根据具体的应用需求,可以根据实际情况调整阈值和阈值化类型,以得到满足需求的图像效果。