平滑(Normal)
我有 Mask 用 7 x 7 所以看起來模糊很多
平滑(Weight)
雖然有模糊,可是很不明顯
中值
先將圖片灑上胡椒鹽
去除 6% 的胡椒鹽,效果顯拔
銳化(Normal)
沒有考慮角落的銳化
有考慮角落,效果非常顯著
心得
作業四依舊花了我不少時間才完成,我花了好多時間在處理邊界值,在邊界的地方用九宮格會超出去,然後只取九宮格有的地方,權重要重算,而且我又不是很想用很多 if else 來做判斷,所以著實令我傷透了腦筋,大概有兩天多的時間都在想這個要怎麼解,最後才想出一個我比較滿意的方法。這關過了以後,就很順利的把三個濾波器都寫出來了,可是我的銳化濾波器一直會有奇怪的顏色,檢查了很久,公式都沒有錯,完全找不出哪裡有錯,所以我就想,肯定是我在哪裡老師有說但我又有漏掉沒聽到。
於是我就去 blogger 裡面翻找之前有修這門課的人寫的程式碼出來參考,順便看看他們是怎麼解決邊界值問題的,不看沒事,一看晴天霹靂阿 ! 原來只要忽略掉邊界值就好......,反正一張圖有沒有去改邊界值,人眼是看不出來的,這問題害我白白花了好多時間,結果只要這麼簡單就解決了,不過有看到跟我一樣在跟邊界值奮鬥的勇者,而且它還是用 if else ,我內心就比較沒那麼難受了,因為至少我知道了我不是孤獨的 !
然後果不其然,我確實漏聽了,我的銳化濾波器少了判斷新的値是否大於 255 或者是小於 0 ,如果大於 255 就要等於 255 ,如果小於 0 就要等於 0 ,加上這個判斷式後,我的程式就很完美的呈現出我想要的結果了。
程式碼在這裡 :
標頭檔
程式碼
沒有留言:
張貼留言