Week8_CH5
Chap5 Neighborhood Processing
5.1 Introduction
(1)filter
將mask和函數作運算後的成果.
step1:將mask置於pixel上
step2:對mask和pixel neighborhood上相對應的elment,
由左至右一列一列做乘積
step3:將結果相加
(2)convolution
和filter大致相同,只是將mask或pixel neighborhood其中之一做
180度旋轉再做乘積和相加.
課本中對於此旋轉提到了傅立葉轉換(Fourier transform) ,
雖然常聽到的定理卻不熟悉內容,因此查了一下.
(3)將矩陣x by 5*5看作很多個3*3的小矩陣,小矩陣中數值相加取平均數
後成為另一個平均數形成的矩陣,其結果和原矩陣也是看成3*3個別
做filter的結果相同.
※除錯區--------------------------------------
P91
mean2(x(1:3,1:3))
ans=
111.1111
應該是170 240 10
230 50 70
40 60 130這個3*3矩陣的結果才對
※除錯區--------------------------------------
5.2 Notation
5.2.1 Edges of the Image
用filter會有問題.影像邊緣上的pixels相對應的mask會有部分
落在影像外.
(1)Ignore the edges
直接忽視這些影像邊緣上的pixels,其輸出值會稍小於原本的.
如果mask很大,這個方法會使一個重要的訊息也被忽略.
(2)Pad with zeros
影像外的數值都為零.會使一個輸出的影像和原本大小一樣,但可能
會有一些多餘的現象.
5.3 Filtering MATLAB
●filter2(filter,image,shape)
其中參數filter為:mask,image為:要改的圖,shape為:以5.2.1中哪種
方式做neighborhood processing.如果shape這個參數位置不填值,
自動用內定值'same'.
因為本來是圖片以外的地方都補上0,就可以用"Ignore the edges",mask全部的pixels.結果同於'same'.
●用越大方陣averaging filter影像會得到越模糊的輸出圖.
5.3.1 Separable Filters
filter可分割為小filter.例如一個3*3的可以分為3*1乘上1*3.此特性
可以用來解決"great time savings",這個意思照後面那段來看應該
是用來處理很大的、pixels很多的影像.
5.4 Frequencies:Low- and High-Pass Filters
●Frequencies
(1)High-frequency components:小距離內大量改變灰階數值.
ex.邊緣和干擾.
(2)Low-frequency components:些微更變影像中的一部份的灰階數
值.
ex.這樣做可能會連帶改變背景和皮膚邊線.
●filter:
(1)high-pass filter:忽略High-frequency components並且減低或
排除Low-frequency components.
(2)low-pass filter:忽略Low-frequency components並切減少或排除
High-frequency components.
●解決因為使用linear filter造成數值範圍不在0-255之內產生的問題
(1)Make negative values positive
不能處理大於255的數值.這個方法只用在特定的情況下,例如只
有少數近於零的負數.
(2)Clip values
使圖片上所有pixel values都在要求的範圍內,但不適用在如果很
多灰階數值不在0-255範圍內而且是散佈在很大的範圍裡.強行
這樣做filter後的結果會是有誤的.
(3)Scaling transformation
若經filter得到一個最低的值和一個最高的值,可以利用線性轉換
將原本的範圍轉換成在0-255之間.
標籤: 影像處理
0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁