日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图像高斯模糊

發布時間:2025/7/25 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图像高斯模糊 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FROM:?http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html


作者: 阮一峰

日期: 2012年11月14日

通常,圖像處理軟件會提供"模糊"(blur)濾鏡,使圖片產生模糊的效果。

"模糊"的算法有很多種,其中有一種叫做"高斯模糊"(Gaussian Blur)。它將正態分布(又名"高斯分布")用于圖像處理。

本文介紹"高斯模糊"的算法,你會看到這是一個非常簡單易懂的算法。本質上,它是一種數據平滑技術(data smoothing),適用于多個場合,圖像處理恰好提供了一個直觀的應用實例。

一、高斯模糊的原理

所謂"模糊",可以理解成每一個像素都取周邊像素的平均值。

上圖中,2是中間點,周邊點都是1。

"中間點"取"周圍點"的平均值,就會變成1。在數值上,這是一種"平滑化"。在圖形上,就相當于產生"模糊"效果,"中間點"失去細節。

顯然,計算平均值時,取值范圍越大,"模糊效果"越強烈。

上面分別是原圖、模糊半徑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三個通道分別做高斯模糊。

六、邊界點的處理

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

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

七、參考文獻

* How to program a Gaussian Blur without using 3rd party libraries

(完)


總結

以上是生活随笔為你收集整理的图像高斯模糊的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。