一、什么是阈值处理?
阈值处理是指剔除图像内像素值高于一定值或低于一定值的像素点
二、使用的方法为:
retval,dst=cv2.threshold(src,thresh,maxval,type) r
etval代表返回的阈值 dst代表阈值分割结果图像,与原始图像具有相同的大小和类型
src代表要进行阈值分割的图像,可以是多通道的,8位或32位浮点型数值
thresh代表要设定的阈值
maxval代表type参数位THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值 type代表阈值分割的类型
三、具体内容为
选项 像素值>thresh 其他情况
cv2.THRESH_BINARY maxval 0
cv2.THRESH_BINARY_INV 0 maxval
cv2.THRESH_TRUNC thresh 当前灰度值
cv2.THRESH_TOZERO 当前灰度值 0
cv2.THRESH_TOZERO_INV 0 当前灰度值
四、代码
import cv2
image = cv2.imread('zl.png',0) #灰度图,
ret, binary = cv2.threshold(image, 175, 255, cv2.THRESH_BINARY)
ret1, binaryinv = cv2.threshold(image, 175, 255, cv2.THRESH_BINARY_INV)
ret2, trunc = cv2.threshold(image, 175, 255, cv2.THRESH_TRUNC)
ret3, tozero = cv2.threshold(image, 175, 255, cv2.THRESH_TOZERO)
ret4, tozeroinv = cv2.threshold(image, 175, 255, cv2.THRESH_TOZERO_INV)
cv2.imshow('gray', image) #原灰度图
cv2.waitKey(0)
cv2.imshow('binary', binary) #偏白的变纯白,偏黑的变纯黑
cv2.waitKey(0)
cv2.imshow('binaryinv', binaryinv) #偏白的变纯黑,偏黑的变纯白
cv2.waitKey(0)
cv2.imshow('trunc', trunc) #白色变得一样灰蒙蒙,偏黑的不变
cv2.waitKey(0)
cv2.imshow('tozero', tozero) #偏白色不变,偏黑的就变纯黑
cv2.waitKey(0)
cv2.imshow( 'tozeroinv', tozeroinv) #偏白色变纯黑,偏黑的不变
cv2.waitKey(0





