空間濾波
一、圖片
〝福隆沙雕〞
〝臺北101〞
〝銘傳大學桃園校區 校景〞
〝銘傳大學 校徽〞
〝龜山島〞
1. 平滑化
使影像模糊化,用來隱藏小細節
※無權重 -> 較模糊
〝福隆沙雕〞
※有權重 -> 較清晰
〝福隆沙雕〞
2. 銳化
用來強化影像小細節,並凸顯色彩強度的變化
※四方位
〝臺北101〞
※八方位
〝臺北101〞
3. 浮水印
※預設位置
〝銘傳大學桃園校區 校景〞
※自己選擇位置
〝銘傳大學桃園校區 校景〞
4. 撒胡椒鹽
※撒胡椒鹽
〝龜山島〞
〝龜山島〞
5. 去雜質
※中值濾波器參考周圍取中間值
〝龜山島〞
※最小值濾波器
參考周圍取最小值
〝龜山島〞
※最大值濾波器
參考周圍取最大值
〝龜山島〞
※雜訊過多,導致中值濾波器無法將其去乾淨
〝龜山島〞
二、心得
「平滑化」
這部分單純帶入兩個PPT的公式,公式其實很簡單,做過一遍就會記得起來;
但是如果老師沒有給參考公式,要如何自己想到此方法,還真的不是那麼容易。
主要是讓影像變模糊,使其小細節被忽略,但若模糊程度過大,反而會壞事,
因為會使影像整個模糊不清,不過還是要看要運用在哪裡,C a s e b y c a s e!
總之,拿捏平滑化的係數其實是很重要的!
「銳化」
銳化可凸顯色彩強度的變化,會使影像看起來更加清楚。依照銳化結果我覺得,
說不定可以運用到需要找邊的問題,就算不一樣,應該也會有點類似吧!
「浮水印」
好用,可在影像標記出處,演算法也很簡單,只需把要重疊的點相加取平均即可!
但也因如此,如果能拿到浮水印的原圖,就表示我們可以將式子反推回去,如此一來,
就可以去掉別人上的浮水印了!因此,如果我以後要自己上浮水印,我一定記得,
把式子改一下,弄個係數什麼的,讓其他人無法輕易就去掉我的浮水印!
「撒胡椒鹽」
如果是像我一樣亂撒,其實沒什麼難度,只要 r a n d o m 一下就好!有進階版,
就是讓人選擇雜訊要佔幾%,並且讓這些雜訊接近平均的撒在影像上,這很難辦到!
因為想知道需要幾個雜訊並不難,難事難再讓雜訊平均分布在影像上面的這件事。
假設我現在要撒的雜訊只有10個,但是我的影像大小為 256 * 256 ( 甚至更大 ),
那麼什麼時候該撒雜訊就很不好辦了,因為如果抓得不好,可能只跑到影像前三行,
我的10個雜訊的 q u o t a 就已經用完了,那個雜訊就只分布在上面;相反的,
如果我雜訊要撒90個,而影像大小為 10 * 10 ,那麼就可能發生整張影像都跑完了,
還有剩下的雜訊 q u o t a 還沒有用。如此一來,撒胡椒鹽這回事,似乎真的不簡單!
因此,我只寫了小小的幾行程式,讓使用者可以調整胡椒鹽相對的多寡,
而無法指定胡椒鹽確切要佔幾 %。此外,我有讓胡椒鹽有兩種顏色( 黑 & 白 ),
讓胡椒鹽看起來相對更雜亂一些。
「去雜訊」
我寫了中值濾波器、最小值濾波器和最大值濾波器三種方法去雜訊。
其實這三個濾波器演算法大同小異,都是參考周圍的色彩值,差別只在於,
要選擇哪一個而已。其中中值濾波器就挺大眾的,可以將大部分Case的雜訊去除;
而最小值濾波器我覺得最適合用來去除偏白色的雜訊,最大值濾波器則剛好相反,
可以用來去除偏黑色的雜訊。但依照老師PPT上的方法,也就是指參考周圍一圈,
能力有限,當雜訊相對數量多時,就無法完全去除乾淨。
此外,我也拿過真的撒了胡椒鹽的玉米濃湯影像丟給程式跑,結果發現,
胡椒鹽根本就沒有去掉!後來我亂玩了一下,先把影像銳化一下,再執行中值濾波器,
有去掉是有去掉,但是只去掉其中的一、兩個小黑點,還不是整個胡椒鹽!
然後我開始思考原因,覺得原理應該跟雜訊太多去不乾淨一樣,因為中值濾波器,
是參考周圍一圈的色彩值然後取中間值,那如果某個雜訊很不幸周圍一圈也都是雜訊,
那取中間值依然還是雜訊啊!想來想去,讓我想到一個辦法,應該可以解決問題,
如果…我參考的色彩值不只周圍的一圈,而是兩圈、三圈…到很多圈,
那麼不就可以在雜訊是一大群的 C a s e 中,選到非雜訊的色彩值了!
至於要參考幾圈,可以讓使用者自己調整,直到真的去掉雜訊為止。真是好辦法呢!
沒有留言:
張貼留言