以灰度圖像為例,假設原圖像像素的灰度值為D = f(x,y), (x,y)為圖像坐標,處理后圖像像素的灰度值為D’ = g(x,y),則灰度變換函數可以表示為:
g(x,y) = T[f(x,y)]
或
D = T[D]
要求D和D’都在圖像的灰度范圍之內。灰度變換函數描述了輸入灰度值和輸出灰度值之間的轉換關系。一旦灰度轉換關系確定,則圖像中每一點的運算關系就被完全確定下來。
灰度圖像主要針對獨立的像素點進行處理,由輸入像素點的灰度值來決定相應的輸出像素點的灰度值,通過改變原始圖像數據所占據的灰度范圍而使圖像在視覺上得到改觀,由於灰度變換沒有利用像素點之間的相互關系,因而這種處理方法也叫點運算。
灰度變換法又分為線性變換和非線性變換,是根據他們采用的算法來定義的。
典型的非線性變換有:
1.負相變換
負相變換也叫做反相變換,即對每一個像素值求反。對圖像求反就是講原圖的灰度值反轉,簡單的說就是黑的變成白的,白的變成黑的。
對於灰度圖像或彩色圖像的每個通道,其算法為:g(x,y) = 255 - f(x,y)
2.二值化和閾值處理
二值化是分段線性的一個特例,一副圖像包括目標、背景和噪聲,怎樣從多值的灰度圖像中提取出目標?最常用的方法就是設定一個閾值θ,用θ將圖像的數據分成兩部分:大於θ的像素群和小於θ的像素群。例如,輸入圖像為f(x,y),輸出圖像為f'(x,y),則f'(x,y) = 255(f(x,y) >= θ); f'(x,y) = 0(f(x,y) <= θ),這就是圖像二值化處理,它的目標就是利用一個閾值θ將圖像f(x,y)分成目標和背景兩個領域。
3.分段線性變換
分段線性變換也叫做灰度線性拉伸,常用的是分三段分線性變換。如下圖:
圖中對灰度區間[a,b]進行了擴展,而灰度區間[0, a]和[b, Mf]收到了壓縮。通過細心調整折線拐點的位置及控制分段直線的斜率,可對任意灰度區間進行擴展和壓縮。、
對於非線性灰度變化,只是算法實現和最終效果上有區別,與線性變換一樣,都是為了改善圖像的質量。