OpenCV 閾值處理 二 自適應閾值

2021-09-12 08:26:28 字數 1154 閱讀 7307

。因此在同一副影象上的不同區域採用的是不同的閾值,從而使我們能在亮度不同的情況下得到更好的結果。

自適應閾值函式

dst=cv.adaptivethreshold(src, maxvalue, adaptivemethod, thresholdtype, blocksize, c[, dst])
引數:src-8位單通道原影象。

dst-與src具有相同大小和相同型別的目標影象

maxvalue-與二值化相關的最大值 

adaptivemethod- 見下文

thresholdtype-閾值型別必須是thresh_binary或thresh_binary_inv

blocksize-於計算畫素閾值的畫素鄰域的大小:3,5,7等。

c- 從平均值或加權平均值中減去的常數。通常為正數,但也可能為零或負數。

關於c:

舉個例子:如果使用平均值方法,平均值mean為190,c為10。那麼灰度小於180的畫素為0,大於等於180的畫素為255。

關於adaptivemethod:

cv2.adaptive_thresh_mean_c

閾值 t(x,y) 是 (x,y) 的 blocksize×blocksize 鄰域的平均值減去 c的值

cv2.adaptive_thresh_gaussian_c

閾值 t(x,y) 是的blocksize×blocksize鄰域的加權和減去 c的值。預設的sigma(標準偏差)用於具體的blocksize。

效果圖

OpenCV自適應閾值處理

區域性自適應閾值則是根據畫素的鄰域塊的畫素值分布來確定該畫素位置上的二值化閾值。這樣做的好處在於每個畫素位置處的二值化閾值不是固定不變的,而是由其周圍鄰域畫素的分布來決定的。亮度較高的影象區域的二值化閾值通常會較高,而亮度較低的影象區域的二值化閾值則會相適應地變小。不同亮度 對比度 紋理的區域性影象...

OpenCV使用全域性閾值和自適應閾值

1 均值法 2 otsu 3 三角法 include include using namespace cv using namespace std intmain int argc,char ar namedwindow image window freeratio imshow image src...

opencv函式系列 自適應閾值

在影象處理中較為常用的二值化方法有 1 全域性固定閾值 2 區域性自適應閾值 3 otsu等。全域性固定閾值很容易理解,就是對整幅影象都是用乙個統一的閾值來進行二值化。區域性自適應閾值則是根據畫素的鄰域塊的畫素值分布來確定該畫素位置上的二值化閾值。這樣做的好處在於每個畫素位置處的二值化閾值不是固定不...