Transcript 5.5 高斯濾波器
第五章 鄰域處理 5.1 前言 – 主要的概念便是將遮罩(邊長通常為奇數的方形 或其他形狀)覆蓋到指定影像的每個像素上面。 1 5.1 前言 • 遮罩值 • 相對應的像素值 2 5.1 前言 3 5.1 前言 • 與空間濾波(spatial filtering)類似的方法是空間 旋積(convolution) – 旋積與濾波的運算方法相同,唯一差異在於濾波 器在相乘與相加之前必須旋轉180 度。 4 5.1 前言 • 範例 – 一個重要的線性濾波器是使用3×3 遮罩,並取遮罩 中的9 個像素值的平均值。 5 5.1 前言 這個矩陣就是套用3×3 平均濾波器於影像x 的結果 6 5.2 運算符號 • 要描述線性濾波器,我們可以簡單地把它當成 遮罩內所有像素灰階值的乘法係數,並可將之 寫成一個矩陣。 – 平均濾波的運算結果可以寫成: – 該濾波器可用矩陣表示: 7 5.2 運算符號 • 範例 – 下列濾波器: – 對灰階值進行運算的結果為: 8 5.2.1 影像邊緣 • 影像的邊緣,也就是遮罩會有部分超出影像的 地方該怎麼辦? • 該問題有幾種不同的方法可以解決。 • 忽略邊緣 (ignore the edges) 9 5.2.1 影像邊緣 • 補零(pad with zeros) • 鏡射(mirroring) 10 5.3 MATLAB 中的濾波函數 • 函數filter2可以執行線性濾波運算,用法 如下: 結果為一個 double資料形態的矩陣。 • 參數shape並非必須,是用來指定影像邊緣部 分的處理方法。 – ‘same’-補零(預設) – ‘valid’-忽略邊緣 11 5.3 MATLAB中的濾波函數 12 5.3 MATLAB中的濾波函數 • 上列'same' 運算結果,也可以對原始影像先補 零再用'valid' 得出: 13 5.3 MATLAB中的濾波函數 • filter2(filter,image,‘full’)則會得 到比原始影像大的結果。 • 補零之外,影像邊緣附近遮罩與影像矩陣有相 交部分均會執行濾波運算。 14 5.3 MATLAB中的濾波函數 • 雖然filter2函數沒有提供鏡射的選項,但是可以在進 行filter2(filter,image,’valid’)程式碼之前加 入下列程式碼,達到鏡射的效果。 • 如此矩陣 x 可以經由鏡射擴展為矩陣 m_x,wr/wc 定義為遮罩總行數/列數的一半(去掉分數) 15 5.3 MATLAB中的濾波函數 • 函數fspecial h = fspecial(type, parameters) >>fspecial(‘average’,[5,7]); >>fspecial(‘average’,11); – 預設是3x3 >>imshow(uint8(cf1)) 或 >>imshow(cf1/255) 16 5.3 MATLAB中的濾波函數 17 5.4 頻率:低通與高通濾波器 • 影像的頻率是灰階值隨著距離而產生變化程度 的一種度量。 • 高頻(high-frequency components) :短距離內 灰階值變化值大(例:邊緣或雜訊) 。低頻:短 距離內灰階值變化值小(例:背景或皮膚紋理) 。 – 高通濾波器(high-pass filter) 保持高頻部分,減少低頻部分。 (係數總和為0) – 低通濾波器(low-pass filter) 保持低頻部分,減少高頻部分。 18 5.4 頻率:低通與高通濾波器 19 5.4 頻率:低通與高通濾波器 20 5.4 頻率:低通與高通濾波器 • 數值超出0至255的範圍 – 將負值變為正值(make negative values positive ) – 數值裁剪(clip values) – 比例轉換(scaling transformation ) 21 5.4 頻率:低通與高通濾波器 – mat2gray (double 形式) 0至1比例轉換 (double 的矩陣) – 通常將濾波結果除一常數以得到較佳影像 22 5.4 頻率:低通與高通濾波器 23 5.5 高斯濾波器 24 5.5 高斯濾波器 25 5.5 高斯濾波器 26 5.6 邊緣銳利化 • 5.6.1 去銳利化遮罩(unsharp masking) -邊緣加強(edge enhancement), 邊緣清晰(edge crispening) 27 5.6 邊緣銳利化 28 5.6.1 去銳利化遮罩 • fspecial的去銳利化參數unsharp可以產生 上述濾波器。 α = 0.5, default: α = 0.2 29 第五章 鄰域處理 第118頁 5.6.2 高增幅濾波 • 與去銳利化遮罩濾波類似的方法是高增幅 (high-boost)濾波器 – 其中A 是增幅係數。 – 若A = 1,則高增幅濾波器就成為典型的高通濾波 器。 – [A/(2A-1)](原始影像) -[(1 - A)/(2A - 1)](低通 濾波影像) – (3/5) ≦A ≦(5/6) 30 5.6.2 高增幅濾波 31 5.6.2 高增幅濾波 >> x1=filter2(hb1, x); >> imshow(x1/255) 32 >> x2=filter2(hb2, x); >> imshow(x2/255) 5.7 非線性濾波器 • 最大濾波器(maximum filter) • 最小濾波器(minimum filter) 33 第五章 鄰域處理 第122頁 5.8 感興趣的區域處理 34 5.8.1 MATLAB 中的感興趣區域 • 這樣會顯示出蜥蜴的影像(若尚未顯示),可 以使用滑鼠選擇ROI 的頂點。 35 5.8.2 ROI 濾波 36