作者:romme
1 基本概念
濾波,即強調圖像中的某些特征,或者去除圖像中某些不需要的信息。例如:圖像去燥、圖像增強、邊緣檢測等。
濾波是一個鄰域操作算子。通常,鄰域選擇3x3,5x5等,這些3x3或者5x5的鄰域,被稱作濾波器,掩模或核。利用給定像素鄰域內的像素值與掩模做卷積,從而決定該像素的最終輸出值。
介紹高斯濾波之前,先從均值濾波說起。
均值濾波,即用掩模確定的領域內像素的平均灰度值代替原像素值。
但是,均值濾波在濾除噪聲的同時,也會帶來模糊邊緣的負面效應。如果使用簡單平均,顯然不是很合理,因為圖像都是連續的,越靠近的點關系越密切,越遠離的點關系越疏遠。因此,加權平均更合理,那么應該如何分配權重呢?
這時,我們就引入了高斯濾波。
高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲。那么,何謂高斯噪聲?
高斯噪聲就是它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。
高斯濾波器,即根據高斯函數的形狀來選擇權值的線性平滑濾波器。接著,介紹高斯函數和高斯核。
高斯函數
(1)一維高斯分布
(2)二維高斯分布
高斯核
為了計算權重矩陣,需要設定σ的值。假定σ=1.5,則模糊半徑為1的權重矩陣如下:
這9個點的權重總和等于0.4787147,這時我們還要確保這九個點加起來為1(高斯模板的特性),因此上面9個值還要分別除以0.4787147,得到最終的高斯核。
2 高斯濾波計算
有了高斯核,下面的計算就簡單了。
在掩模領域內,將9個點分別乘以對應的高斯核權重值,將這9個值加起來,就是中心點的高斯濾波后的值。對所有點重復這個過程,就得到了高斯模糊后的圖像。如果原圖是彩色圖片,可以對RGB三個通道分別做高斯模糊。
3 FPGA實現
(1)緩存圖像數據;
(2)做卷積;
(3)映射輸出。
實現效果如下:
4 補充說明
(1)如果一個點處于邊界,周邊沒有足夠的點,怎么辦?(可以把已有的點映射到另一面的對應位置,構成完整的掩模)
(2)高斯濾波采用加權平均思想,距離越近的點權重越大,距離越遠的點權重越小。但是,這個假設在圖像的邊緣處變得不成立。如果在邊緣處也用這種思路來濾波的話,即認為相鄰相近,則得到的結果必然會模糊掉邊緣,這是不合理的。這就涉及到另外一種濾波算法,雙邊濾波。
(3)高斯濾波器寬度(決定著平滑程度)是由參數σ表征的。σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好。可以通過調節平滑程度參數σ,來達到希望的濾波效果。
編輯:hfy
-
FPGA
+關注
關注
1629文章
21748瀏覽量
603976 -
高斯濾波
+關注
關注
0文章
18瀏覽量
8072
發布評論請先 登錄
相關推薦
評論