Homework
2: 空間濾波器實作
99360453 陳胤霖 資工三乙
平滑化、銳化、中值濾波器是空間濾波器的實作,平滑化是平均濾波器也稱為低通濾波器,相反則是高通濾波器也就是銳化;而中值濾波器的功能與低通濾波器相當,目的都是使圖片中的雜訊消除,但呈現效果不同以及優點與缺點,並推廣濾波器的應用。
一開始必須先產生「胡椒鹽式雜訊
(Salt and Pepper noise)」在圖片上,使用紅色圖片與花蓮六十石山金針花季風景圖片。
產生胡椒鹽式雜訊
平滑化(低通濾波器)
低通濾波器 風景圖片比較圖
中值濾波器
中值濾波器風景圖片比較圖
兩項結果得知,中值濾波器去除雜訊效果較好,平滑化的方式利用中間像素周圍八個點的像素值與中間像素值的總和除於9得到平均數再代入中間像素值,所以使用上也會把其他像素值給模糊掉,另外風景圖的藍天部分還是有許多黑點,整個圖片已經失焦;而中值濾波器也是取得中間像素值以及周圍八個點的像素值,但是經由排序選出第50個百分位,也就是取得第五大的數值帶入中間像素值,可有效去除不同像素值的雜訊,不過風景圖的部份雖可有效去除胡椒鹽,甚至風景本身會有種油畫效果的出現。
中值濾波器使用到排序,此次複習以前教過的排序演算法,利用泡沫排序法(Bubble Sort),時間複雜度高達(n^2),也用快序排序法,時間複雜度(n log n),雖然最差情況也有可能為(n^2),不過理論與實作結合並且利用到影像處理實務上,可是不同的經驗。
銳化(高通濾波器)
相片對焦在熊身上,後面的發票與小郵筒的字原本是模糊,利用銳化效果發現熊的邊緣更加清楚,後方發票的字也變得非常銳利清楚;銳化使用中間像素值與其他周圍八個像素值利用拉普拉斯導數,也就是說中間像素值乘8,其他乘-1,相加後得到的一數值可以除以一個數當做銳化的程度,最後判斷這個數值,如果大於255代入255至中間像素值,如果小於0則中間像素值為0,藉此能夠凸顯邊緣。
過度銳化會使得照片產生嚴重雜訊。
原本寫出來的銳化功能程式碼的效果有出現破圖的情況發生,並且設定變數,可能是銳化程度太高導致圖像破圖,經由調整銳化效果程度成功呈現。
推廣
先使用中值濾波器的效果與再使用高通濾波器,兩種濾波器結合在一起的效果,可以有效去除主題與非主題的雜訊,使照片主題更為明顯,圖片使用花蓮火車站的站牌。
左邊圖片的花蓮與白色背景都有雜訊存在,利用中值濾波器使雜訊在主題上以及背景消除,再利用高通濾波器做銳化,使得影像品質提升。
後記
影像處理程式讓原本枯燥乏味的程式設計更添了趣味,使用平常拍照的照片,不同以往使用修圖軟體,自己設計程式介面,設計演算法,與以前課堂知識融會貫通,程式本身的觀念經由老師上課提點,推導程式碼,思考碰撞出來的經驗就是自己的。
沒有留言:
張貼留言