OpenCV的imread
函數(shù)用于從文件中讀取圖像,而圖像閾值處理是一種基本的圖像處理技術(shù),用于將圖像轉(zhuǎn)換為二值圖像,其中像素值大于某個(gè)閾值的被設(shè)置為白色(或黑色),小于該閾值的被設(shè)置為黑色(或白色)。以下是一些常見(jiàn)的OpenCV圖像閾值處理方法:
在OpenCV中,你可以使用cv2.threshold
函數(shù)來(lái)執(zhí)行這些閾值操作。這個(gè)函數(shù)接受一個(gè)輸入圖像、一個(gè)閾值、一個(gè)最大值(用于二值化)以及一個(gè)可選的標(biāo)志參數(shù),用于指定所使用的閾值類型。例如,要使用Otsu’s方法進(jìn)行閾值處理,你可以這樣做:
import cv2
# 讀取圖像
image = cv2.imread('path_to_image.jpg')
# 使用Otsu's方法進(jìn)行閾值處理
_, thresh = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 顯示結(jié)果
cv2.imshow('Thresholded Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
在這個(gè)例子中,cv2.threshold
函數(shù)的第一個(gè)參數(shù)是輸入圖像,第二個(gè)參數(shù)是閾值(在這里我們使用0,因?yàn)槲覀兿M尯瘮?shù)自動(dòng)計(jì)算閾值),第三個(gè)參數(shù)是最大值(在這里我們使用255,因?yàn)槲覀円獙D像轉(zhuǎn)換為8位無(wú)符號(hào)整數(shù)格式的二值圖像),第四個(gè)參數(shù)是標(biāo)志參數(shù),我們使用cv2.THRESH_BINARY + cv2.THRESH_OTSU
來(lái)指定使用Otsu’s方法進(jìn)行自適應(yīng)閾值處理。