OpenCV中的閾值分割可以通過cv2.threshold()函數實現。該函數的參數包括輸入圖像、閾值、最大像素值、閾值類型和輸出圖像。
以下是一個簡單的示例代碼,演示了如何使用閾值分割將一幅灰度圖像轉換為二值圖像:
import cv2
import numpy as np
# 讀取圖像
img = cv2.imread('image.jpg', 0) # 以灰度模式讀取圖像
# 閾值分割
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 顯示結果
cv2.imshow('Thresholded Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上述代碼中,首先使用cv2.imread()函數讀取一幅灰度圖像。然后,使用cv2.threshold()函數進行閾值分割。其中,參數img
為輸入圖像,127
為閾值,255
為最大像素值,cv2.THRESH_BINARY
為閾值類型,表示將大于閾值的像素值設為最大像素值,小于等于閾值的像素值設為0。最后,使用cv2.imshow()函數顯示閾值分割結果。
注意:閾值分割函數的返回值包括閾值和輸出圖像。在上述代碼中,我們用ret
接收了閾值,但并沒有使用它。