摘要
介紹傅里葉帶通濾波器實現圖像濾波的原理,然後通過代碼實例進一步加深理解。
前言
表面缺陷分割的難點在於複雜背景環境下目標的判別。對於背景灰度均勻的檢測對象,理論上只要缺陷目標與背景灰度存在差異,比較容易提取缺陷。但在實際應用中,物體各區域反射或散射的差異性,鏡頭的邊緣效應,圖像傳感器像元光電響應的非一致性和固定模式噪聲都會造成圖像的灰度非均勻化。 前兩個因素是主要因素,且視場越大,圖像的光照不均勻性越明顯。因此必須採用圖像增強技術來消除以上因素帶來的影響。圖像增加技術發展至今,歸類起來主要有兩大類方法:空間域濾波法和頻域濾波法。空間域濾波法主要是以圖像像素爲單位,針對像素灰度(顏色)值進行運算,改變圖像灰度(顏色)從而進行增強目的;頻域濾波法是先將圖像變換到某一頻率域空間,如傅立葉變換、小波變換,然後對變換系數做一定運算處理,處理完畢後再反變換回空間域,達到增強效果。
1. 從“幾何”的角度來看待傅里葉級數
我們都知道周期函數傅里葉級數公式(複數形式),如下所示:
但是我們真的理解公式的意義了嗎?
爲什麼周期函數可以寫成無限項的和呢?
讓我們從“幾何”的角度來看待傅里葉級數吧!
這部分內容參考至http://blog.renren.com/share/343320656/15540620254/1
-
一個簡單的二維平面的例子
如下圖所示,給定兩個向量 u 和 v ,我們從 u 的末端出發作到 v 所在直線的垂線,得到一個跟 v 同向的新向量 p 。這個過程就稱作 u 到 v 所在直線的投影,得到的新向量 p 就是 u 沿 v 方向的分量。圖中的係數 c 是 p 跟 v 的比例,也就是 u 在 v 軸上的“座標”。
我們可以用尺規作圖來完成投影這個動作,
問題是:如果給定的向量 u 和 v 都是代數形式的,我們怎麼用代數的方法求 c ?
-
正交基的概念
在講傅里葉級數之前,我們還需引進線性代數中“正交基”的概念。如果這個概念你覺得陌生,就把它想成是互相垂直的“座標軸”。回到剛纔這個例子,如下圖所示,現在我們引進一組正交基 {v1,v2},那麼 u 可以展開成以下形式
從圖上來看,其實說的是我們可以把 u“投影”到 v1 和 v2 這兩個座標軸上,c1 和 c2 就是 u 的新“座標”。
問題是:我們怎麼求 c1 和 c2 呢?
利用之前關於投影的討論,我們可以直接得出答案
現在我們已經明白一件事情了:如果想把一個向量在一組正交基上展開,也就是找到這個向量沿每條新“座標軸”的“座標”,那麼我們只要把它分別投影到每條座標軸上就好了。
-
函數在傅里葉正交基展開
說了半天,這些東西跟傅里葉級數有什麼關係?我們先回憶一下傅里葉級數的表達式。給定一個週期是 2l 的周期函數 f(x),它的傅里葉級數爲:
我不喜歡記憶這些公式,有辦法可以更好的理解他們來幫助記憶嗎?答案是有的,那就是從幾何的角度來看。傅里葉告訴我們,f(x) 可以用下面這組由無限多個複數函數(包括常數)組成的“正交基”來展開,
這裏我們需要在廣義上來理解“正交”。我們說兩個向量,或兩個函數之間是正交的,意思是它們的“內積”(inner product)爲零。
“內積”在有限維的“向量空間”中的形式爲“點積”(dot product)。
在無限維的“函數空間”中,對於定義在區間 [a,b] 上的兩個實函數 u(x),v(x) 來說,它們的內積定義爲
對於定義在區間 [a,b] 上的兩個複數函數 u(x),v(x) 來說,它們的內積定義爲
那麼接下來我們就運用“廣義正交”的定義來驗證是否爲正交基
由以上公式推導可知,確實是一組正交基
那麼周期函數可以寫爲一下形式:
我們可以看到,用幾何投影的觀點來看待傅里葉級數,理解變得更加容易,因爲我相信所有人都能理解投影的概念;同時,傅里葉級數所有的公式都可以輕鬆的記住,想要遺忘都難了。我們在學習不同學科的時候可以經常的去做聯繫,嘗試着用不同的角度去看待同一個問題,我相信這麼做是很有好處的。
2. 周期函數的傅里葉級數到傅里葉變換
從上面推導我們已經知道周期函數的傅里葉級數的展開,但是在實際應用中,我們遇見的函數多爲非周期函數,所以我們需要將其表示傅里葉展開的手法推廣到非周期函數
非周期函數,也可以理解爲週期無限大的函數,
那麼下面的推導就是
在週期趨於無窮大的條件下,由傅里葉級數公式推導出傅里葉變換公式
3. 取樣函數的傅里葉變換及重建
首先取樣函數是連續函數的離散值序列,那爲什麼要介紹離散序列的傅里葉變換呢?
因爲計算機爲代表的現代信號處理系統只能存儲和處理有限長度的離散信號,且無法直接進行連續積分運算,因此必須要對信號進行離散化。
這部分內容主要參考:岡薩雷斯,數字圖像處理(第三版),電子工業出版社
-
衝激和衝激串以及它們的傅里葉變換
在介紹取樣函數的傅里葉變換之前,讓我們先了解一下衝激和衝激串以及它們的傅里葉變換
連續變量或離散變量x在x=0處的單位衝激表示爲 ,其定義爲
它還被限制爲滿足等式
一個衝激具有關於如下積分的所謂取樣特性:
或者,更一般地用位置 x=x0處的衝激
本節後面特別感興趣的是衝激串
位於原點的單位衝激的傅里葉變換由下式給出:
位於 的一個衝激的傅里葉變換是
衝激串的傅里葉級數
的傅里葉變換
由傅里葉變換的對稱性可得
衝激串的傅里葉變換
-
取樣函數及其傅里葉變換
取樣函數可以由下式給出
取樣函數的傅里葉變換
由上圖可以看出,取樣後的函數的傅里葉變換是的一個拷貝的無限、週期序列,也是原始連續函數的傅里葉變換。拷貝的間隔由的值決定,爲取樣率,取樣率越小,拷貝間越靠近。如果取樣率低於保持不同拷貝的最小取樣率要求,就不能保持原始變換。
-
從函數取樣恢復原始函數
重建濾波函數,用於從函數的取樣恢復原始函數,其定義爲:
重建濾波函數的傅里葉逆變換
利用重建濾波函數,重建原始函數
4. 傅里葉變換的頻移性和頻譜的中心化
對於一維函數來說
對於二維函數來說
未中心化:藍色框爲我們看到的未中心化圖像,四個背靠背的週期在四個角落相會
中心化:藍色框爲我們看到的中心化圖像,四個背靠背的週期在圖像中心相會
5. 帶通濾波器
前面的3.3小節我們在討論重建的時候,定義了重建濾波函數,實際上我們可以按照一定規則定義濾波器,比如當我們的興趣是處理指定的頻段或頻率矩形的小區域。第一類濾波器分別稱爲帶阻濾波器或帶通濾波器。第二類濾波器稱爲陷波濾波器。
在這裏我們只討論第一類濾波器。帶通濾波器,它允許一定頻段的信號通過,抑制低於或高於該頻段的信號、干擾和噪聲;帶阻濾波器,它抑制一定頻段內的信號,允許該頻段以外的信號通過。
濾波器的作用是,根據要求讓需要的頻段的信號通過,抑制不需要的頻段的信號。帶通濾波器就是隻讓指定的一個頻段內的信號通過,其他頻率的信號都抑制掉的濾波器;而帶阻濾波器則是抑制特定頻段的信號,其他頻率的信號都通過的濾波器。
下表給出了理想、布特沃斯和高斯帶阻濾波器的表達式,其中D(u,v)是距頻率中心的距離,
是帶寬的徑向中心,W是帶寬。
一個帶通濾波器可以用帶阻濾波器得到:
下圖爲帶阻濾波器和相應的帶通濾波器
6. 頻率域濾波步驟小結
7. 代碼實例測試
完整代碼在:https://github.com/LeonJinC/testFourierBandPassFilter
原始圖
傅里葉變換
帶通濾波器
卷積圖
帶通濾波後圖像