數位影像處理 4 點處理
目 錄 4.1 導論 4.2 數學運算 4.3 直方圖 (灰階值分佈圖) 4.4 查詢表格
4.1 導論 轉換 (transforms) 是將像素值改變為其他種相等的形式,如圖4.1
鄰域處理 ( neighborhood processing) 只要知道指定像素周圍像素的灰階值,就可以改變指定像素的灰階值 點運算 ( point operations) 在不知指定像素周圍的情況下改變該像素的灰階值
4.2 數學運算
結果如圖4.3所示
圖4.4呈現了可以造成這些效果的函數範例
表4.1列出了執行圖4.4函數必需要的指令
所有的影像都可以用imshow來檢視,如圖4.5
補色 灰階影像的補色 ( complement) 就是對應到相片的負片
只對部分影像進行補色運算,可以製造出一些特殊的效果 譬如說,取灰階值128以下的像素取補色,其他像素維持原樣,或是灰階值128以上的像素取補色,其他像素維持原樣,結果如圖4.7
4.3 直方圖 (灰階值分怖圖)
一些基本的強度轉換函數。 所有的曲線都調整大小到適合所顯示的範圍內。
在MATLAB中可以使用imhist函數檢視影像的 直方圖 結果如圖4.8所示
4.3.1 直方圖擴展法 (對比擴展法)
imadjust 的用法 在MATLAB中擴展直方圖也可以使用imadjust函數
4.3.2 直線方程式 上述直方圖擴展的方法一定需要使用者輸入,有些情況使用直方圖等化(equalization)這種完全自動的處理方式會比較好 主要概念是將直方圖轉換成均勻分佈的樣子,亦即使圖中所有的直條變成同一高度
範例 假設一個4位元灰階影像灰階直方圖如圖4.17 所示,其灰階值分佈ni如下表
再看一個例子,一個顏色很暗的影像,我們使用 imdivide產生暗色影像。 因為矩陣e只含有較低的數值,顯示出來會是非常陰 暗的影像,使用一般指令顯示影像矩陣及其直方 圖: 結果如圖4.20所示
可以看到這個陰暗的影像所對應的直方圖分 佈幾乎集中在座標數值低的區域 但若對影像執行直方圖等化,然後顯示結果 結果如圖4.21所示
運作原理 觀察圖4.17的直方圖,若要執行直方圖擴展,就要擴展灰階層次9-13,可以使用類似圖4.9的片段函數
4.4 查詢表格 使用查詢表格 (lookup table) (縮寫LUT) 來執行點運算會十分有效率。 對uint8型態的影像執行運算時,使用的表格是由256個值所組成的單一陣列,每個值都是落於0…255之間的整數
舉例來說,「除以2」的LUT表格如下 例如,像素值若是4變代換為2,若是253則代換為126
若T為MATLAB的查詢表格,im為影像,則可使用下列簡單指令執行表格查詢 舉例來說,假設我們要對圖4.23的對比擴展函數執行LUT,帶入4.3.1節中的方程式,得到三個直線方程式為
方程式還可以簡化如下