自適應閾值二值化

二值化原理:

把一個灰度圖像二值化,其實就是找到一個閾值,使這個較低中,灰度大於這個閾值的,設置成255,灰度小於這個閾值的,設置爲0。

閾值自適應二值化:

非自適應的二值化呢,有一個問題,就是一個閾值往往只對應一類圖像,如果圖像的光照變暗了,那個單閾值情況的二值化效果會大大的折扣。自適應二值化其實就是一種根據圖片的灰度直方圖,得到一個適合本圖像的二值化閾值。


本文給出一種自適應閾值產生的方法,當然這個方法有很多種,本文只是一種方法。

本程序的原理很簡單:如下圖所示,藍色的代表一個灰度圖片的直方圖,想辦法找到一個合適的混合高斯分佈去逼近它。混合高斯分佈,其實就是兩個高斯分佈之和。我們認爲兩個高斯分佈相交的地方的灰度值,就是要選擇的閾值。


那麼怎麼去尋找一個逼近它的高斯分佈呢?我用的是一個比較笨的方法,取一個變量t,將這個變量t,從左到右遍歷每一個灰度。每次以t左邊的數據當成一組樣本來估計一個高斯分佈,以t右邊的數據爲另一個樣本來估計第二個高斯分佈。將這兩個高斯分佈組合成的混合高斯分佈,跟原始的數據匹配。至於匹配標準可以隨意選擇,可以用最小均方誤差,也可以用最小絕對值誤差,也可以用相關程度。隨着t的遍歷,找到每一次混合高斯分佈與原始數據的匹配程度,選擇最爲匹配的混合高斯分佈所對應的t值值爲閾值。

實踐證明,這種方法的自適應性還是很好的,魯棒性比較好。


當改變直方圖時,混合高斯模型的匹配效果,還是很多不錯的。

但是有一點,就是要求處理的圖片,灰度不能太複雜,儘量符合混合高斯模型。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章