cv2.threshold()
函數用于對圖像進行閾值化處理。它的參數如下:
src
:要處理的輸入圖像,可以是灰度圖像或彩色圖像,類型為uint8
。thresh
:設定的閾值,如果像素值大于閾值,則將其設為maxval
;否則將其設為0。maxval
:設定的最大值,用于設置大于閾值的像素值,默認為255。type
:閾值化的類型,有以下幾種可選:cv2.THRESH_BINARY
:二值化閾值化,大于閾值的像素值設為maxval
,小于等于閾值的像素值設為0。cv2.THRESH_BINARY_INV
:反二值化閾值化,大于閾值的像素值設為0,小于等于閾值的像素值設為maxval
。cv2.THRESH_TRUNC
:截斷閾值化,大于閾值的像素值設為閾值,小于等于閾值的像素值不變。cv2.THRESH_TOZERO
:閾值化為0,大于閾值的像素值不變,小于等于閾值的像素值設為0。cv2.THRESH_TOZERO_INV
:反閾值化為0,大于閾值的像素值設為0,小于等于閾值的像素值不變。
retval
:被忽略的返回值。
下面是一個示例代碼,演示了如何使用cv2.threshold()
函數對圖像進行閾值化處理:
import cv2# 讀取圖像
image = cv2.imread('image.jpg')# 將圖像轉換為灰度圖
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 閾值化圖像
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 顯示結果
cv2.imshow('Original Image', image)
cv2.imshow('Thresholded Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
在這個示例中,我們首先讀取了一張圖像,并將其轉換為灰度圖。然后通過cv2.threshold()
函數對灰度圖像進行閾值化處理,將灰度值大于127的像素設為255,灰度值小于等于127的像素設為0。最后,我們顯示了原始圖像和閾值化圖像。
根據具體的應用需求,可以根據實際情況調整閾值和閾值化類型,以得到滿足需求的圖像效果。