2008年12月4日 星期四

Chapter5 Neighborhood Processing

5.1 Introduction
這章是把上一章講述到的Neighborhood Processing再做更深入的講解。
Neighborhood Processing即藉由鄰近的pixel彼此產生一個function,而以下提及的部份就是Neighborhood Processing的應用。

  • filter:對要處理的pixel取其周圍的點(包含該pixel)形成一個mask,針對該pixel與形成的mask做處理,產生一個新的點取代原本的pixel。
  • linear filter:filter結果產生的新值,如果都是屬於mask裡擁有的值,那麼就把其稱為linear filter
5.2 Notation
可以使用矩陣方式來表示filter。

5.2.1 Edges of the Image
filter有一個問題,那就是如果在圖像邊緣做mask,範圍就會跑到圖像外面,而這個小節就是在告訴我們怎樣避免這樣的問題。
方法一:忽略邊緣的地方不做。
方法二:把超出圖像範圍的mask值全部代入0以解決問題。

5.3 Filtering in MATLAB
這節顧名思義就是用MATLAB玩出filter啦!


  • filter2(filter, image, shape)

filter處填入你想要成為令為filter的矩陣,至於在MATLAB矩陣製成方式為

  • a=ones(x,y)/z
    a為任意參數,ones為矩陣名稱,(x,y)為設定的矩陣大小,將(x,y)每個點除以z即形成filter矩陣。
    image即是你想做filter處理的圖像。
    shape可代入三種數值:
  1. 'same':連同邊緣作filter處理,用的即是5.2.1的方法

  2. 'valid':只處理內部(指不含邊緣)的,即5.2.1的方法,而處理過後的圖片會比原本的圖片小。

  3. 'full':這部份我就看不是很懂了....

5.3.1 Separable Filters
說明filter也可拆解(如果可拆的話)做處理。
舉例:

  • [filterA]=[filterB][filterC],而對imageA做filterA處理等同於對imageA做filterB後再做filterC。

5.4 Frequencies: Low- and High-Pass Filters

5.5 Gaussian Filters

5.6 Edge Sharpening

5.6.2 High-Boost Filtering

5.7 Nonlinear Filters

5.8 Region of Interest Processing
只對一整張圖片的某部份做filter的處理,簡稱ROIs,而其過程稱為ROI processing

5.8.1 Region of Interest Processing in MATLAB
在MATLAB裡做ROI處理的指令為

  • roipoly(image, [欲作處理的區域範圍的], [欲作處理的區域範圍的]);
    舉一例如圖 ↑左下方寫錯,應為(25,75)
    如果想在中間(25,25),(75,25),(25,75),(75,75)做ROI,則程式碼寫法為:
    roipoly(image, [25 25 75 75], [25 75 25 75]);

5.8.2 Region of Interest Filtering

沒寫完真是對不住,不過這章真的有點多又有些難度orz....

沒有留言:

張貼留言