首頁  >  文章  >  web前端  >  Photoshop高斯模糊濾鏡的演算法總結

Photoshop高斯模糊濾鏡的演算法總結

高洛峰
高洛峰原創
2017-02-20 09:40:351815瀏覽

        最近有感於部分網友對高斯模糊濾鏡的研究,現總結如下。高斯模糊是數位影像模板處理法的一種。其模板是根據二維常態分佈(高斯分佈)函數計算出來的。 
        常態分佈最早由A.棣莫弗求二項分佈的漸近公式。 C.F.高斯在研究測量誤差時從另一個角度導出了它。 P.S.拉普拉斯和高斯研究了它的性質。故名高斯模糊。

        一維常態分佈的函數定義:

        Photoshop高斯模糊濾鏡的演算法總結

       

       常態分佈記作N(μ,σ2 )。 遵從常態分佈的隨機變數的機率規律為取  μ鄰近的值的機率大  ,而取離μ越遠的值的機率越小;σ越小,分佈越集中在μ附近,σ越大,分佈越分散。常態分佈的密度函數的特徵是:關於μ對稱,在μ處達到最大值,在正(負)無限遠處取值為0,在μ±σ處有拐點。它的形狀是中間高兩邊低  ,影像是一條位於x軸上方的鐘形曲線。當μ=0,σ2 =1時,稱為標準常態分佈,記為N(0,1)。

        兩個常數的意義:μ-期望,σ^2 變異數。

        以下我們解決第一個問題:高斯模糊濾鏡中的半徑是什麼?答案是高斯半徑就是公式中的σ。

        高斯曲線的圖形和半徑的意義如下圖(來自Adobe SDK中技術支援專家的文件)所示:

Photoshop高斯模糊濾鏡的演算法總結        可見高斯半徑(σ)對曲線形狀的影響,σ越小,曲線越高越尖,σ越大,曲線越低越平緩。對二維影像來說,是一個鐘形曲面,高斯半徑越小,曲面越高越尖越陡峭;高斯半徑越大,曲面越低越平緩。因此高斯半徑越小,模糊越小,高斯半徑越大,則模糊程度越大。我們將看到ps對高斯半徑的範圍定義是【0.1~250】。當半徑為0.1時,高斯模板在計算後只有中間像素為1,其他像素均=0(實際上只是趨近0),即影像不會有變化。

         第二個疑問,高斯模板大小與高斯半徑的關係?這是一個一直困擾我們的誤解。因為我們的思維進入了物理實現的迷思。在物理實作中,高斯模板有界,使我們忽略了這個問題的真正答案:高斯模板在邏輯上是無邊界的。也就是說高斯模板本質上是邏輯上無窮拓展曲面的一個近似。因此,模板大小我們應該認為它是無限的。只不過在計算的時候,因為在遠處趨近0,因此在某個閾值之下我們不再考慮這些值,這個閾值就是模板邊界。

         下面,二維高斯曲面的公式(x,y代表像素的模板座標,模板中心位置為原點):


 

    即:g(x,y)= (  1 / (2 *pi*σ^2)  )  *   exp(   -(x^2+y^2)/(2*σ^2)  ) ;

         以這個公式,我們可以計算出不同半徑下的模板,半徑模板是無窮大的,只是在中心較遠處,他們會趨近0.例如,我們計算出r=0.7時的一個歸一化後的高斯模板:

Photoshop高斯模糊濾鏡的演算法總結

高斯模板(guass radius=0.700000)
%
繪製高斯模糊曲面!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn