- 2D 計算機視覺:原理、算法及應用
- 章毓晉編著
- 2558字
- 2021-10-29 23:40:39
3.5 空域卷積增強
在圖像空間中,除了對整幅圖像進行逐像素處理,也可考慮對圖像中某一區域的像素集合進行處理。利用不同的方式,可獲得不同的增強效果。
3.5.1 模板卷積
圖像中一個區域內的像素常表示成一個中心像素和其近鄰像素的集合。鄰域中的處理主要以模板(樣板、窗和濾波器也常被用來代表模板)運算的形式實現。模板運算的思想是在圖像處理中將賦予某個像素的值作為其本身灰度值和其近鄰像素灰度值的函數值。在對模板進行設計時,可利用空間占有數組來表達圖像,通過對數組單元取不同的值來達到不同的運算目的。例如,考慮如圖3-15(a)所示的子圖區域,用以z5為中心的3×3區域中的像素平均值來替換z5的值,則要進行如式(3.15)的算術運算,并將z的值賦予z5。


圖3-15 模板運算示例
利用如圖3-15(b)所示的模板,以上運算可用更一般的形式完成,即將模板中心放在z5之上,用模板中對應的系數與模板下的像素值相乘并累加結果:

如果令wi=1/9,i=1,2,…,9,則可得到與前述平均過程相同的結果。
式(3-16)在圖像處理中得到了廣泛應用,其中的運算實際上是一個相關運算。恰當地選擇模板中的各系數并在圖像每個像素位置使用模板進行運算,可以完成一系列有用的圖像處理操作,如噪聲消除、區域細化和邊緣提取等。
3.5.2 空域濾波
當模板在空間上關于中心像素對稱時,前述相乘并相加的運算就等價于一個卷積運算。空域濾波就是在圖像空間中借助模板進行卷積操作完成的,根據特點一般可分為線性空域濾波和非線性空域濾波兩類。另外,各種空域濾波器根據功能又主要分成平滑的空域濾波器(消除噪聲或模糊圖像以在提取較大的目標前去除過小的細節或將目標內的小間斷連接起來)和銳化的空域濾波器(增強圖像中的邊緣細節)。結合這兩種分類方法,可將空域濾波增強方法分成4類(見表3-3)。
表3-3 空域濾波增強方法分類

空域濾波增強功能的實現基于對模板卷積的利用,通過選擇不同的模板系數,可實現不同的增強效果。
1. 線性平滑濾波
實現線性平滑濾波的模板中的所有系數都是正的。對3×3的模板來說,最簡單的方法是所有系數都取為1。為保證輸出圖像仍在原來的灰度值范圍內,在算得結果后要將其除以9再進行賦值,如式(3-15)所示。這種方法也常稱為鄰域平均,相當于一個積分運算。
例3-13 線性平滑濾波的模糊消噪效果
圖3-16(a)為原始的8bit灰度圖像,圖3-16(b)為疊加了均勻分布的隨機噪聲的圖像,圖3-16(c)、圖3-16(d)、圖3-16(e)和圖3-16(f)依次為用5×5、7×7、9×9和11×11模板對圖3-16(b)進行平滑濾波的結果。可見,當所用模板尺寸增加時,對噪聲的消除作用也會增強,但同時,得到的圖像變得更為模糊,細節逐步減少。

圖3-16 線性平滑濾波的模糊消噪效果
2. 非線性平滑濾波
線性平滑濾波在消除噪聲的同時會將圖像中的一些細節模糊掉。如果既要消除噪聲又要保留圖像的細節,則可以使用中值濾波,它實現了一種非線性平滑濾波,其主要步驟如下。
(1)使模板在圖像中“漫游”,并將模板中心對準圖像中的某個像素位置。
(2)讀取模板下各對應像素的灰度值。
(3)將這些灰度值從小到大排成一列。
(4)找出位于正中間的一個灰度值。
(5)將這個中間值賦給對應模板中心位置的像素。
由以上步驟可以看出,中值濾波的主要功能就是使與周圍像素灰度差別較大的像素改取與周圍像素灰度值接近的值,從而消除孤立的噪聲點。如果使用尺寸為M×M的模板(M為奇數),設從圖像中讀取的像素灰度值從小到大排成{f1,f2,…,fM,fM+1,…,fM×M},則輸出值為f(M×M+1)/2。在一般情況下,圖像中尺寸小于模板尺寸一半的過亮或過暗區域將會在濾波后被消除。由于中值濾波不是簡單的取平均值,所以產生的模糊比較少。
例3-14 鄰域平均和中值濾波效果對比
圖3-17給出對同一幅圖像分別用鄰域平均和中值濾波處理的結果。仍考慮如圖3-16(b)所示的疊加了均勻分布的隨機噪聲的圖像,這里,圖3-17(a)和圖3-17(c)分別為用3×3和5×5模板進行鄰域平均處理的結果,而圖3-17(b)和圖3-17(d)分別為用3×3和5×5模板進行中值濾波處理的結果。兩相比較可見,中值濾波處理結果的視覺效果要比鄰域平均處理結果的視覺效果好,主要特點是在進行中值濾波后圖像中各區域的輪廓仍比較清晰。

圖3-17 鄰域平均和中值濾波效果對比
另外,在實際應用中,須根據應用要求選取大小合適的模板,兼顧運算時間和消噪效果。
3. 線性銳化濾波
實現線性銳化濾波的模板的中心系數應為正值,而周圍的系數應為負值。當使用3×3模板時,典型的系數取值是取圖3-15(b)中的w5為8,而其余系數為-1,這樣所有系數之和為0。當把這樣的模板放在圖像中灰度值是常數或變化很小的區域上時,其卷積輸出為0或很小。注意,這個濾波器會將原始圖像中的零頻率分量去除,也就是將輸出圖像的平均灰度值變為0,這樣輸出圖像中就會有一部分像素的灰度值小于0。在圖像處理中一般只考慮正的灰度值,所以還需要將輸出圖像的灰度值范圍通過變換控制在[0, Gmax]中。
銳化濾波的效果可用原始圖像f(x, y)減去平滑圖像L(x, y)得到。更進一步,如果將原始圖像乘以一個放大系數A再減去平滑圖像就能實現高頻提升濾波:

若A=1,就是普通的銳化濾波;若A>1,原始圖像的一部分與用H(x, y)濾波得到的銳化圖像相加,恢復了部分銳化濾波時丟失的低頻分量,使得最終結果與原始圖像更接近。因為平滑濾波常會使圖像模糊,所以從原始圖像中減去模糊圖像的操作也稱(非銳化)掩模。此時對于如圖3-15(b)所示的3×3模板,其中心系數的取值應是w5=9A-1。
例3-15 線性銳化濾波與高頻提升濾波效果對比
圖3-18(a)為帶有一定模糊的實驗圖像,圖3-18(b)為對圖3-18(a)進行線性銳化濾波的結果;圖3-18(c)為對圖3-18(a)進行高頻提升濾波的結果(其中A=2),圖3-18(d)為在此基礎上又對灰度值范圍進行擴展(利用直方圖均衡化)的結果,可見模糊消除的效果是很明顯的。

圖3-18 線性銳化濾波與高頻提升濾波效果對比
4. 非線性銳化濾波
線性銳化濾波計算相鄰像素間灰度的差值,相當于進行了一個微分運算,可見可以利用微分運算銳化圖像。在圖像處理中,最常用的微分方法是利用梯度的方法。對于一個連續函數f(x, y),其梯度是一個矢量,由(用2個模板)分別沿x和y方向計算微分的結果構成:

梯度的幅度可以以2為范數來計算(對應歐氏距離),即

在實際應用中,為了計算簡便,也可用其他方法組合2個方向的微分結果。
一種簡單的方法是利用城區距離(以1為范數),即

另一種簡單的方法是利用棋盤距離(以∞為范數),即

由于利用各種范數計算梯度幅度的方法都是非線性的,所以它們也都是非線性濾波方法。關于利用不同距離計算梯度幅度的進一步討論可參見7.2節。