2018年1月8日 星期一

04360455 張力仁 HW04

這次要介紹的是空間濾波,在這之前要先介紹什麼是濾波器,相信各位在拍攝時多少會有手抖的情況而導致圖片拍攝模糊,或者是看電視時訊號不好會發現電視上有許多小白點,為了解決這些問題有了濾波器,顧名思義就是把我們不要的濾掉,把我們想要的留下來。

濾波器是一個正方形的結構,以每單位分成一小格,每小格都有一個數值稱為濾波器係數,在這個作業中我們是用九宮格形狀的濾波器。
c代表著濾波器的數值,每小格用座標點來表示,大家應該都知道一張圖片是由好幾個pixel組成,所以一張圖片都有對應的座標點,代表該pixel的顏色,而我在操作圖片時是由左往右再從上往下看,因此濾波器的對應座標也是由左往又在從上往下安排。

使用濾波器的方法相當簡單,中心點(0, 0)代表著我們要更動的顏色的,只要把鄰近九宮格的顏色乘上對應座標的濾波係數後再加起來並設定為新的中心點顏色,特別要注意的是每個pixelrgb三種顏色組成,在使用濾波器時要分開操作,例如更動某座標的r,則只要把相鄰座標的r與對應的濾波係數相乘後相加即可。
聰明的你一定會覺得有奇怪的地方,如果我們在處理邊界的pixel時會沒辦法用濾波器完全遮蓋,碰到這問題該怎麼辦呢?在這裡我們採用一種偷懶的方式就是最外層的pixel我們忽略不看,這樣一來每個pixel都會有一個對應的九宮格了。
介紹完濾波器後開始介紹空間濾波的第一種:平滑濾波器,平滑濾波器主要是在將圖片模糊化以減少雜訊,如果有一個pixel因為干擾變成白點則可以用周圍的顏色來彌補那個白點所造成的干擾,簡單來講就是中心點設為九宮格的平均值,也就代表濾波器的係數全部為1,如果覺得離自己越近的顏色參考比例要比較高,也可以自行調整濾波器的係數。
平均
靠近自己影響越大,比例越高
特別要注意的是記得當你算完總和後要除上所有濾波係數的總和,上圖的話要除9,下圖則要除16

首先來試試沒干擾的圖片的平滑化處理,可以發現上圖跟下圖比較起來變得模糊很多。

接著嘗試將一張有干擾的圖片進行平滑化處理,發現小白點幾乎都不見了,但是圖片還是較為模糊。

接著介紹第二種空間濾波:中值濾波器,中值濾波器主要用來消除干擾所造成的白點或黑點,將九宮格的顏色依照色彩值進行排序,並取中間的值設定成新的中心點顏色,因為白點與黑點分別為2550,在排序後干擾的顏色會是最小或最大值,此時若取中值則可以排除干擾的白色與黑色。


由上圖可以發現中值濾波器一樣可以將干擾訊號排除,此時你是否有疑問,中值與平滑皆可以去除干擾,那到底差異在哪裡?
我們知道平滑是將其他顏色當作參考,取九宮格的平均值為新中心點,因此可以知道若雜訊多時,圖片會變得較模糊,而中值因為是利用黑白點排序後會在邊緣的方法來排除雜訊,在處理雜訊多時若雜訊很分散,則中值的效果會好很多。
中間為平滑後的結果,右圖為中值的結果  
接著介紹最後一種空間濾波: 銳化濾波器,顧名思義就是將原本模糊的照片變得清晰,而這個濾波器跟微分有關係。
假設影像為一個函數f(x),因為每個pixel之間最小差1,因此微分為
f’(x) = f(x+1) – f(x)
f’’(x) = f’(x+1) – f’(x) = f(x+2) – f(x+1) – (f(x+1) – f(x))
      = f(x+2) – 2f(x+1) + f(x)
將中心點調整變成
f’’(x) = f(x+1) – 2f(x) + f(x-1)
現在將影像假設為f(x, y),利用偏微分以及上面的公式可推得
f’’(x, y) = f(x+1, y) – 2f(x, y) + f(x-1, y) + f(x, y+1) – 2f(x, y) + f(x, y-1)
      = f(x+1, y) + f(x-1, y) + f(x, y+1) + f(x, y-1) – 4f(x, y)
將以上公式變成濾波器
 而銳化濾波器g(x, y) = f(x, y) – f’’(x, y)
 = f(x, y) – (f(x+1, y) + f(x-1, y) + f(x, y+1) + f(x, y-1) – 4f(x, y))
 =5f(x, y) - f(x+1, y) - f(x-1, y) - f(x, y+1) - f(x, y-1)
將以上公式變成濾波器
千辛萬苦求出濾波器係數後跟上面一樣直接對應座標後即可達到銳化效果。



可以發現下圖比上圖清晰了許多。


沒有留言:

張貼留言