代码语言:javascript复制
import cv2
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#将彩色图片转换为灰度图片
t,rst=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)#二值化阈值处理
cv2.imshow("img",img)
cv2.imshow("rst",rst)
cv2.waitKey()
cv2.destroyAllWindows()
算法:二值化阈值处理是将原始图像处理为仅有两个值的二值图像。二值化阈值处理是将灰度值大于阈值的像素设为白色(255),小于或等于阈值的像素设为黑色(0);或将大于阈值的像素设为黑色(0),小于或等于阈值的像素设为白色(255),二者只是显示形式不同。二值化阈值应用在边缘提取、图像分割、目标识别等领域。
例子:
设定阈值为130,即大于130的像素值设为255,小于或等于130的像素值设为0:
二值化阈值处理后:
retval, dst=cv2.threshold(src, thresh, maxval, type)
- src表示输入图像
- thresh表示阈值
- maxval表示如果参数type为THRESH_BINARY或THRESH_BINARY_INV类型,设定最大值
- type表示阈值分割的类型
注意:二值化阈值处理的图像是彩色图像还是灰度图像。通常情况下,最大最小的平均灰度值作为阈值。