講解ps中的高斯模糊的算法

2022-12-25 10:19:55 來源/作者: / 己有:164人學(xué)習(xí)過

上面分別是原圖、模糊半徑3像素、模糊半徑10像素的效果。模糊半徑越大,圖像就越模糊。從數(shù)值角度看,就是數(shù)值越平滑。

接下來的問題就是,既然每個點都要取周邊像素的平均值,那么應(yīng)該如何分配權(quán)重呢?

如果使用簡單平均,顯然不是很合理,因為圖像都是連續(xù)的,越靠近的點關(guān)系越密切,越遠(yuǎn)離的點關(guān)系越疏遠(yuǎn)。因此,加權(quán)平均更合理,距離越近的點權(quán)重越大,距離越遠(yuǎn)的點權(quán)重越小。

二、正態(tài)分布的權(quán)重

正態(tài)分布顯然是一種可取的權(quán)重分配模式。

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

在圖形上,正態(tài)分布是一種鐘形曲線,越接近中心,取值越大,越遠(yuǎn)離中心,取值越小。

計算平均值的時候,我們只需要將"中心點"作為原點,其他點按照其在正態(tài)曲線上的位置,分配權(quán)重,就可以得到一個加權(quán)平均值。

 

三、高斯函數(shù)

上面的正態(tài)分布是一維的,圖像都是二維的,所以我們需要二維的正態(tài)分布。

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

正態(tài)分布的密度函數(shù)叫做"高斯函數(shù)"(Gaussian function)。它的一維形式是:

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

其中,μ是x的均值,σ是x的方差。因為計算平均值的時候,中心點就是原點,所以μ等于0。

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

根據(jù)一維高斯函數(shù),可以推導(dǎo)得到二維高斯函數(shù):

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

有了這個函數(shù) ,就可以計算每個點的權(quán)重了。

四、權(quán)重矩陣

假定中心點的坐標(biāo)是(0,0),那么距離它最近的8個點的坐標(biāo)如下:

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

更遠(yuǎn)的點以此類推。

為了計算權(quán)重矩陣,需要設(shè)定σ的值。假定σ=1.5,則模糊半徑為1的權(quán)重矩陣如下:

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

這9個點的權(quán)重總和等于0.4787147,如果只計算這9個點的加權(quán)平均,還必須讓它們的權(quán)重之和等于1,因此上面9個值還要分別除以0.4787147,得到最終的權(quán)重矩陣。

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

五、計算高斯模糊

有了權(quán)重矩陣,就可以計算高斯模糊的值了。

假設(shè)現(xiàn)有9個像素點,灰度值(0-255)如下:

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

每個點乘以自己的權(quán)重值:

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

得到

Photoshop詳細(xì)解析高斯模糊的算法,PS教程,16xx8.com教程網(wǎng)

將這9個值加起來,就是中心點的高斯模糊的值。

對所有點重復(fù)這個過程,就得到了高斯模糊后的圖像。如果原圖是彩色圖片,可以對RGB三個通道分別做高斯模糊。

六、邊界點的處理

如果一個點處于邊界,周邊沒有足夠的點,怎么辦?

一個變通方法,就是把已有的點拷貝到另一面的對應(yīng)位置,模擬出完整的矩陣。