講解ps中的高斯模糊的算法
上面分別是原圖、模糊半徑3像素、模糊半徑10像素的效果。模糊半徑越大,圖像就越模糊。從數值角度看,就是數值越平滑。
接下來的問題就是,既然每個點都要取周邊像素的平均值,那么應該如何分配權重呢?
如果使用簡單平均,顯然不是很合理,因為圖像都是連續的,越靠近的點關系越密切,越遠離的點關系越疏遠。因此,加權平均更合理,距離越近的點權重越大,距離越遠的點權重越小。
二、正態分布的權重
正態分布顯然是一種可取的權重分配模式。
在圖形上,正態分布是一種鐘形曲線,越接近中心,取值越大,越遠離中心,取值越小。
計算平均值的時候,我們只需要將"中心點"作為原點,其他點按照其在正態曲線上的位置,分配權重,就可以得到一個加權平均值。
三、高斯函數
上面的正態分布是一維的,圖像都是二維的,所以我們需要二維的正態分布。
正態分布的密度函數叫做"高斯函數"(Gaussian function)。它的一維形式是:
其中,μ是x的均值,σ是x的方差。因為計算平均值的時候,中心點就是原點,所以μ等于0。
根據一維高斯函數,可以推導得到二維高斯函數:
有了這個函數 ,就可以計算每個點的權重了。
四、權重矩陣
假定中心點的坐標是(0,0),那么距離它最近的8個點的坐標如下:
更遠的點以此類推。
為了計算權重矩陣,需要設定σ的值。假定σ=1.5,則模糊半徑為1的權重矩陣如下:
這9個點的權重總和等于0.4787147,如果只計算這9個點的加權平均,還必須讓它們的權重之和等于1,因此上面9個值還要分別除以0.4787147,得到最終的權重矩陣。
五、計算高斯模糊
有了權重矩陣,就可以計算高斯模糊的值了。
假設現有9個像素點,灰度值(0-255)如下:
每個點乘以自己的權重值:
得到
將這9個值加起來,就是中心點的高斯模糊的值。
對所有點重復這個過程,就得到了高斯模糊后的圖像。如果原圖是彩色圖片,可以對RGB三個通道分別做高斯模糊。
六、邊界點的處理
如果一個點處于邊界,周邊沒有足夠的點,怎么辦?
一個變通方法,就是把已有的點拷貝到另一面的對應位置,模擬出完整的矩陣。
上一篇:ps制作霓虹燈閃字教程
下一篇:用ps制作抽象動態電波