2016年12月30日 星期五

03360474 陳鈺翔 HW05

濾波器(Filter)

【平滑空間濾波器-Smoothing Spatial Filter】

減少與周圍的差距,來達到模糊化或是雜訊處理,不過雜訊處理的效果不太好。
程式再寫的時候要注意迴圈的範圍,不然會出現下面的錯誤訊息
另外就是9個權重的值相加不能為0,因為 任何數/0 都為無意義,如果為0就會出現下面的錯誤訊息

執行結果

使用遮罩

使用遮罩
使用遮罩,雜訊為5%

【銳化空間濾波器-Sharping Spatial Filter】

增加與周圍的差距,來達到銳利化,可以讓影像裡的邊(細節)變得比較明顯
程式再寫的時候一樣要注意迴圈的範圍,還有9個權重的值相加不能為0,要多注意就是有可能超過255或是小於0。

執行結果

使用遮罩
雜訊5%

【中值濾波器-Median Filter & 胡椒鹽雜訊】

用來去除圖片中的雜訊。雜訊通常是影像中比較極端的點,而中值濾波器是取mask裡的中位數,因為中位數可以排除掉mask裡的極值,所以才能把雜訊去掉。
程式再寫的時候一樣看你的mask多大迴圈的範圍就多大。
撒胡椒鹽雜訊,在影像裡隨機位置上撒雜訊,雜訊通常是比較極端的顏色,像是白點或黑點,所以在灑完雜訊後,影像才會變得多出這麼多奇怪的黑色根白色點點。
該注意的地方是,如果在原始圖灑雜訊沒清空的話,他會一直累積,所以要想個清空影像上雜訊的方式,免得出錯。
程式碼部分想了一段時間才知道什麼意思,灑雜訊分成兩部分:
白點
黑點
當初不知道為什麼要這樣做,後來花了時間再想想才想通了,當產生的亂數%100,那只可能出現0~99這100個點中的一點,noise是雜訊的比例,這邊除2代表的是3%白、3%黑;假設目前雜訊比例為6%,白點部分,0~99中97、98、99這三個亂數會大於,所以當出現這三個亂數的話就把它變成白點,黑點同理。

執行結果

雜訊10%,mask 3 * 3
雜訊20%,mask 3 * 3
雜訊20%,mask 5 * 5
雜訊40% -> 80% -> 99%,mask 5 * 5
雜訊20%,mask 7 * 7
雜訊99%,mask 7 * 7

【心得】

1.平滑化:
當mask中間的權重很大時,處理完的圖像不會模糊化,反而會更接近原圖,因為周圍的點影響中心點的能力太小了;平滑化一樣可以處理雜訊可是我覺得效果非常地不好,他只把雜訊點變得比較模糊,可是其實還是很明顯,我想原因應該是因為平滑化是對取的每一點乘上個別的權重再取平均,但是平均會受到極值的影響,使每個雜訊點的顏色都沒辦法跟鄰近的點類似,所以平滑化對雜訊的處理是不理想的。
2.銳化:
銳化其實就是用來讓影像細節變得更清楚,像是上面影像中,花的邊跟葉子的邊變得更明顯了;當時做完這些程式後,因為無聊,所以試著對撒過雜訊的圖做銳化,結果發現白點旁邊都圍著一圈黑色,黑點旁則圍著一圈白色這個有趣的現象,透過這個發現到,影像裡的邊界跟雜訊一樣都跟周圍的點的顏色不相似,再加上mask裡中間的權重最高,所以銳化後會讓那個點變得很明顯,才會使的影像中的邊的部分變得更明顯。
3.中值濾波器和撒胡椒鹽雜訊:
這個應該是這次作業裡面最有趣的一個了,看著圖片一堆白點根黑點慢慢的不見超療育的;中值濾波跟平滑化一樣有去除雜訊的功能,可是中值濾波的成效比較好,為什麼?因為中值濾波器處理過的點取的值並不會受到極值的影響,它直接去掉比較極端的點;中值濾波器我寫了3種mask大小,有(3*3)、(5*5)、(7*7)的。
發現了幾種現象:
(1) (5*5)的mask處理後的圖,顏色比較接近原本的,可是影像形狀在雜訊比例越來越高的時候變得越來越不明顯,去掉雜訊點的能力比較強。
(2) (7*7)的mask處理後的圖,它在雜訊比例比較高的時候,形狀比較接近原本的影像,可是處理後雜訊,雜訊還是很多。

沒有留言:

張貼留言