Matlab之自適應直方圖均衡adapthisteq
阿新 • • 發佈:2018-11-25
轉自這裡
adapthisteq函式執行所謂的對比度受限的自適應直方圖均衡
這種方法用直方圖匹配方法來逐個處理影象中的較小區域(稱為小塊)。然後使用雙線性內插方法將相鄰的小片組合起來,從而消除人口引入的邊界。
特別在均勻的灰度區域,可以限制對比度來避免放大噪聲。
g = adapthisteq(f, param1, val1, param2, val2, ...)
該函式所用引數:
'NumTiles' 一個有正整陣列成的兩元素向量[r, c],由向量的行和列指定小片數。r和c都必須至少是2,小片總數等於r*c。預設值是[ 8 8]
'ClipLimit' 範圍是[0 1]內的標量,用於指定對比度增強的限制。較高的值產生較強的對比度。預設值是0.01
'NBins' 針對建立對比度增強變黃所用的直方圖容器數目指定的正整數標量。較高的值會在較慢的處理速度下導致較大的動態範圍。預設值是256
'Range' 規定輸出影象資料範圍的字串
'original'——範圍被限制到原始影象的範圍,[min(f(:)) max(f(:))]
'full'——使用輸出影象類的整個範圍。例如,對於uint8類的資料,範圍是[0 255]。這是預設值。
'Distribution' 為影象小片指定期望直方圖形狀的字串
'uniform'——平坦的直方圖(預設)
'rayleigh'——鐘形直方圖
'exponential'——曲線直方圖
'Alpha' 適用於瑞利和指數分佈的非負標量。預設值為0.4
f = imread('Fig0210(a).tif'); figure(1); imshow(f); %adapthisteq的使用 g1 = adapthisteq(f); figure; imshow(g1); g2 = adapthisteq(f, 'NumTiles', [25 25]); figure; imshow(g2); g3 = adapthisteq(f, 'NumTiles', [25 25], 'ClipLimit', 0.05); figure; imshow(g3);