二值化处理也叫二值化阈值处理,该处理让图像仅保留两种像素 值,或者说所有像素都只能从两种值中取值。 进行二值化处理时,每一个像素值都会与阈值进行比较,将大于阈 值的像素值变为最大值,将小于或等于阈值的像素值变为0,计算公式 如下:
if 像素值 <= 阈值: 像素值 = 0 if 像素值 > 阈值: 像素值 = 最大值
二值化处理白黑渐变图
import cv2
img = cv2.imread("1.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
cv2.imshow('img', img) # 显示原图
cv2.imshow('dst1', dst1) # 二值化阈值处理效果图
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
观察不同阈值的处理效果
import cv2
img = cv2.imread("1.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
t2, dst2 = cv2.threshold(img, 210, 255, cv2.THRESH_BINARY) # 调高阈值效果
cv2.imshow('dst1', dst1) # 展示阈值为127时的效果
cv2.imshow('dst2', dst2) # 展示阈值为210时的效果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体