cv2.threshold()函数参数讲解

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。最后,我们显示了原始图像和阈值化图像。

根据具体的应用需求,可以根据实际情况调整阈值和阈值化类型,以得到满足需求的图像效果。

你可能感兴趣的:(opencv,计算机视觉,图像处理,二值化)