轉載地址:http://blog.csdn.net/xizero00/article/details/6719915
一、前言:
關於高斯濾波在我的前一篇文章《數字圖像基本處理算法》中有所談及那篇只是介紹了高斯濾波的應用,現在這一篇將着重簡介高斯濾波的原理和應用,一探個究竟!
二、啥是高斯濾波?好吃麼?
高斯濾波,說白了就是一個函數來對輸入的信號(其實這裏的信號就是圖像的像素值)進行計算然後得出結果作爲該信號的值,只不過函數是高斯函數而已,就是這麼簡單。
那麼高斯函數又是何許人也?
答曰:不過一個公式而已
其真人如下:
這個呢是一維的高斯函數
這個呢是二維的高斯函數
爲什麼有兩個高斯函數呢?因爲二維的高斯函數可以降爲一維的,通過在水平和豎直方向對圖像進行處理就相當於用一個二維的高斯函數對圖像進行處理,那麼爲什麼要這樣呢?
答曰:速度,但是需要注意的是實際編程的時候是直接採用計算好的模板直接計算,方便快捷
那麼請問?高斯濾波好吃麼?
廢話,當然不好吃,有本事你吃吃看。^_^
不過呢,雖然不好吃,但是,它卻有着非常好的剔除噪聲的效果。
這個就是爲什麼要用高斯濾波啦。它能夠讓我們獲得性噪比比較高的圖像。
高等數學裏面有沒有看到過高斯函數的圖像?
那個正態分佈的圖像?
對,就是它,人家自己都說了它對去除服從正態分佈的噪聲很有效^_^
常用的零均值離散高斯濾波器函數就是長得這個樣子滴:
即g(x)=exp(-x^2/(2 sigma^2)
爲什麼要用高斯函數進行濾波呢?
有一下幾點原因:
1. 高斯函數具有高斯函數是單值函數。因爲高斯函數對誰都不偏袒圖像的邊緣在哪裏它可不知道,他只知道幹它的事情,所以它在濾波的時候並不偏袒誰,即高斯函數在各個方向的平滑程度是相同的。
2. 高斯函數具有旋轉不變的特性,主要是因爲它在工作的時候是用用像素鄰域的加權均值來代替該點的像素值。
3. 高斯函數的付立葉變換頻譜是單瓣的,它能夠去除高頻信號同時又保留有用的信號!
4. 高斯函數說了它的參數sigma決定了你要的平滑程度,sigma越大,平滑的就越厲害。
5. 最後一點就是二維高斯函數卷積可以分兩步來進行,首先將圖像與一維高斯函數進行卷積,然後將卷積結果與方向垂直的相同一維高斯函數卷積.因此,二維高斯濾波的計算量隨濾波模板寬度成線性增長而不是成平方增長。這樣是不是很快呢???
三、後記
另外呢?高斯濾波還有幾個兄弟濾波器,他們是中值濾波簡單濾波以及雙邊濾波,如果您有興趣呢,可以看看他們的兄弟們,不然他們會寂寞滴哈,^_^