理论基础, threshold函数
7.1理论基础
retval, dst=cv2.threshold(src, thresh, maxval, type)
7.1.1二进制阈值化(cv2.THRESH_BINARY)
binary 二进制(0,1)
比阈值大的,处理为255
比阈值小的,处理为0
7.1.2反二进制阈值化(cv2.THRESH_BINARY_IN)
比阈值大的,处理为0
比阈值小的,处理为255
7.1.3截断阈值化(cv2.THRESH_TRUNC)
比阈值大的,处理为阈值
比阈值小的,保持不变
7.1.4反阈值化为0(cv2.THRESH_TOZERO_INV)
比阈值大的,处理为0
比阈值小的,保持不变
7.1.5阈值化为0(cv2.THRESH_TOZERO)
比阈值大的,保持不变
比阈值小的,处理为0
7.2threshold函数
retval, dst=cv2.threshold(src, thresh, maxval, type)
retval | dst | src | thresh | maxval | type |
---|---|---|---|---|---|
阈值 | 处理结果 | 源图 | 阈值 | 最大值 | 类型 |
import cv2
a = cv2.imread("D:\\lena512.bmp",cv2.IMREAD_UNCHANGED)
r,b = cv2.threshold(a,150,255,cv2.THRESH_BINARY) #二进制阈值化,把亮的地方增强。
r,c = cv2.threshold(a,150,255,cv2.THRESH_BINARY_INV) #反二进制阈值化
r,d = cv2.threshold(a,150,255,cv2.THRESH_TRUNC) #截断阈值化, 把亮的地方调暗
r,e = cv2.threshold(a,150,255,cv2.THRESH_TOZERO_INV) #反阈值化为0,把亮的地方为0
r,f = cv2.threshold(a,150,255,cv2.THRESH_TOZERO) #阈值化为0, 把暗的地方为0
-
结果演示
a b c
d e f