https://blog.csdn.net/weixin_38570251/article/details/82079080
threshold:固定閾值二值化欺嗤,
ret, dst = cv2.threshold(src, thresh, maxval,type)
src: 輸入圖,只能輸入單通道圖像翻屈,通常來說為灰度圖
dst: 輸出圖
thresh: 閾值
maxval: 當(dāng)像素值超過了閾值(或者小于閾值腰素,根據(jù)type來決定)闸度,所賦予的值
type:二值化操作的類型箫攀,包含以下5種類型: cv2.THRESH_BINARY句惯; cv2.THRESH_BINARY_INV拍嵌; cv2.THRESH_TRUNC镐捧; cv2.THRESH_TOZERO潜索;cv2.THRESH_TOZERO_INV
官方文檔的示例代碼:
importcv2
importnumpyasnp
frommatplotlibimportpyplotasplt
img = cv2.imread('gradient.png',0)
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
ret,thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
ret,thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
foriinxrange(6):
plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')
? ? plt.title(titles[i])
? ? plt.xticks([]),plt.yticks([])
plt.show()