在OpenCV中,可以使用cv2.adaptiveThreshold()
函數來實現自適應閾值操作。該函數的語法如下:
cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C)
參數說明:
src
:輸入圖像,應為灰度圖像。maxValue
:像素值超過閾值時設置的新像素值。adaptiveMethod
:自適應閾值算法類型,可以選擇cv2.ADAPTIVE_THRESH_MEAN_C
或cv2.ADAPTIVE_THRESH_GAUSSIAN_C
。thresholdType
:閾值類型,可以選擇cv2.THRESH_BINARY
或cv2.THRESH_BINARY_INV
。blockSize
:鄰域大小,用來計算閾值的像素領域大小。C
:從計算出的平均值或加權平均值中減去的常數,用于微調閾值。示例代碼:
import cv2
# 讀取輸入圖像
img = cv2.imread('input.jpg', 0)
# 自適應閾值操作
adaptive_threshold = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)
# 顯示結果
cv2.imshow('Adaptive Threshold', adaptive_threshold)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上代碼將讀取名為input.jpg
的灰度圖像,并對其應用自適應閾值操作,然后顯示結果。