Python 使用OpenCV 进行二值化

2023-03-12 00:00:00 python opencv 二值化

在Python中使用OpenCV进行二值化,可以使用cv2.threshold()函数。下面是一个简单的示例,它将一张灰度图像二值化:

import cv2

# 读取灰度图像
img = cv2.imread("image.jpg", cv2.IMREAD_GRAYSCALE)

# 对图像进行二值化
threshold_value = 128 # 阈值
max_value = 255 # 像素值的最大值
ret, thresh = cv2.threshold(img, threshold_value, max_value, cv2.THRESH_BINARY)

# 显示原始图像和二值化后的图像
cv2.imshow("Original", img)
cv2.imshow("Thresholded", thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代码中,我们首先使用cv2.imread()函数读取一张灰度图像。然后,我们使用cv2.threshold()函数对该图像进行二值化。cv2.threshold()函数的第一个参数是要二值化的图像,第二个参数是阈值,第三个参数是像素值的最大值,第四个参数是二值化类型。在本例中,我们使用cv2.THRESH_BINARY作为二值化类型,这意味着像素值大于阈值的像素将被设置为最大值,而像素值小于或等于阈值的像素将被设置为0。cv2.threshold()函数的返回值包括阈值和二值化后的图像。最后,我们使用cv2.imshow()函数显示原始图像和二值化后的图像,并使用cv2.waitKey()和cv2.destroyAllWindows()等待用户按下任意键以关闭窗口。

相关文章