彩色图像:三个通道0-255,0-255,0-255,所以可以有2^24位空间 灰度图像:一个通道0-255,所以有256种颜色 二值图像:只有两种颜色,黑和白,1白色,0黑色
cv.threshold( src, thresh, maxval, type[, dst] )
参数说明:
src:原图像。
dst:结果图像。
thresh:当前阈值。
maxVal:最大阈值,一般为255.
thresholdType:阈值类型,主要有下面几种:
1 enum ThresholdTypes { 2 THRESH_BINARY = 0, 3 THRESH_BINARY_INV = 1, 4 THRESH_TRUNC = 2, 5 THRESH_TOZERO = 3, 6 THRESH_TOZERO_INV = 4, 7 THRESH_MASK = 7, 8 THRESH_OTSU = 8, 9 THRESH_TRIANGLE = 16 10 };
1 def threshold_demo(image): 2 gray = cv.cvtColor(image,cv.COLOR_RGB2GRAY) #要二值化图像,要先进行灰度化处理 3 ret, binary = cv.threshold(gray,0,255,cv.THRESH_BINARY | cv.THRESH_OTSU) 4 print("threshold value: %s"%ret) #打印阈值,前面先进行了灰度处理0-255,我们使用该阈值进行处理,低于该阈值的图像部分全为黑,高于该阈值则为白色 5 cv.imshow("binary",binary) #显示二值化图像
threshold value: 140.0 #获取的阈值是140
ret, binary = cv.threshold(gray,0,255,cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
threshold value: 67.0
ret, binary = cv.threshold(gray,127,255,cv.THRESH_BINARY_INV)
threshold value: 127.0
ret, binary = cv.threshold(gray,127,255,cv.THRESH_TRUNC)
ret, binary = cv.threshold(gray,127,255,cv.THRESH_TOZERO)
原文:https://www.cnblogs.com/ybqjymy/p/12822027.html