二值化原理:
把乙個灰度影象二值化,其實就是找到乙個閾值,使這個較低中,灰度大於這個閾值的,設定成255,灰度小於這個閾值的,設定為0。
閾值自適應二值化:
非自適應的二值化呢,有乙個問題,就是乙個閾值往往只對應一類影象,如果影象的光照變暗了,那個單閾值情況的二值化效果會大大的折扣。自適應二值化其實就是一種根據的灰度直方圖,得到乙個適合本影象的二值化閾值。
本文給出一種自適應閾值產生的方法,當然這個方法有很多種,本文只是一種方法。
本程式的原理很簡單:如下圖所示,藍色的代表乙個灰度的直方圖,想辦法找到乙個合適的混合高斯分布去逼近它。混合高斯分布,其實就是兩個高斯分布之和。我們認為兩個高斯分布相交的地方的灰度值,就是要選擇的閾值。
**:自適應閾值二值化
那麼怎麼去尋找乙個逼近它的高斯分布呢?我用的是乙個比較笨的方法,取乙個變數t,將這個變數t,從左到右遍歷每乙個灰度。每次以t左邊的資料當成一組樣本來估計乙個高斯分布,以t右邊的資料為另乙個樣本來估計第二個高斯分布。將這兩個高斯分布組合成的混合高斯分布,跟原始的資料匹配。至於匹配標準可以隨意選擇,可以用最小均方誤差,也可以用最小絕對值誤差,也可以用相關程度。隨著t的遍歷,找到每一次混合高斯分布與原始資料的匹配程度,選擇最為匹配的混合高斯分布所對應的t值值為閾值。
實踐證明,這種方法的自適應性還是很好的,魯棒性比較好。
當改變直方圖時,混合高斯模型的匹配效果,還是很多不錯的。
但是有一點,就是要求處理的,灰度不能太複雜,盡量符合混合高斯模型。
自適應閾值二值化
二值化原理 把乙個灰度影象二值化,其實就是找到乙個閾值,使這個較低中,灰度大於這個閾值的,設定成255,灰度小於這個閾值的,設定為0。閾值自適應二值化 非自適應的二值化呢,有乙個問題,就是乙個閾值往往只對應一類影象,如果影象的光照變暗了,那個單閾值情況的二值化效果會大大的折扣。自適應二值化其實就是一...
自適應的閾值化
對影象應用閾值建立二值影象,是提取有意義元素的好方法。但有的時候單一閾值達不到目標提取的效果。下面比較一下幾種方法的效果。例如,給定一幅圖如下,將 富貴白頭 四個字提取出來。通過opencv閾值化函式cv threshold 純手工選擇引數,進行固定閾值二值化,發現當閾值設為80時效果最好。採用固定...
OpenCV 閾值處理 二 自適應閾值
因此在同一副影象上的不同區域採用的是不同的閾值,從而使我們能在亮度不同的情況下得到更好的結果。自適應閾值函式 dst cv.adaptivethreshold src,maxvalue,adaptivemethod,thresholdtype,blocksize,c dst 引數 src 8位單通道...