1. 程式人生 > >【原創翻譯】【Matlab函式參考】imadjust函式,調整影象強度與色彩

【原創翻譯】【Matlab函式參考】imadjust函式,調整影象強度與色彩

IMADJUST 調整影象的強度或色彩。 J = IMADJUST(I) 將影象I中的畫素強度值對映到影象J中,使1%的資料在I的低和高 強度下達到飽和。這將增強輸出影象J的對比度。

J = IMADJUST(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT]) 將影象I中的畫素強 度值對映到影象J中,即將I中LOW_IN和HIGH_IN之間的值對映到J中LOW_OUT和HIGH_ OUT之間。低於LOW_IN的值和高於HIGH_IN將被裁剪;也就是說,低於LOW_IN的值將 對映到LOW_OUT中,高於HIGH_IN的值將對映到HIGH_OUT中。使用者可以使用一個空矩 陣([])來代替[LOW_IN; HIGH_IN]或[LOW_OUT; HIGH_OUT],用來將其指定為預設 的[0 1]。如果使用者忽略了引數,[LOW_OUT; HIGH_OUT]預設為[0,1]。

J = IMADJUST(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA) 如上面的語 法所述,將影象I中的畫素強度值對映到影象J中。GAMMA指定了描述影象I和J中畫素 值之間關係的曲線的形狀。如果GAMMA小於1,畫素強度則會對映到到更高(變亮) 的輸出值。如果GAMMA大於1,畫素強度則會對映到更低(變暗)的輸出值。如果使用者 忽略了該引數,GAMMA預設為1(線性對映)。

NEWMAP = IMADJUST(MAP,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA)將與 索引影象有關的色彩圖MAP進行轉換。LOW_IN, HIGH_IN, LOW_OUT和HIGH_OUT必須 是1×3的向量,用來為每個顏色通道指定唯一的GAMMA值,或為同時指定三個通道像 素值的標量指定GAMMA值。重新調整的色彩圖NEWMAP與MAP的大小相同。

RGB2 = IMADJUST(RGB1,…) 為RGB影象RGB1中的每個影象平面(紅、綠和藍)進 行調整。與調整色彩圖一樣,使用者可以為每個平面採用唯一的色彩對映。

注意IMADJUST(I)與IMADJUST(I,STRETCHLIM(I))等價。

注意,如果HIGH_OUT < LOW_OUT, 輸出影象反相,就像膠捲的底片一樣。

支援的型別

對於包含有輸入影象(不是色彩圖)的語法,輸入影象可以是uint8, uint16, int16, 單精度或雙精度。輸出影象的大小與輸入影象的一致。對於包含了色彩圖的 語法,輸入影象與輸出影象的色彩圖都是雙精度型。

示例

  I = imread('pout.tif');
  J = imadjust(I);
  figure, imshow(I), figure, imshow(J)

  K = imadjust(I,[0.3 0.7],[]);
  figure, imshow(K)

  RGB1 = imread('football.jpg');
  RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7 1],[]);
  figure, imshow(RGB1), figure, imshow(RGB2)

也可以看看 BRIGHTEN, DECORRSTRETCH, HISTEQ, IMCONTRAST, IMHISTMATCH, STRETCHLIM。

Copyright 1992-2014 The MathWorks, Inc.

輸入與輸出的規格

I,J 實數, 全矩陣,二維 uint8, uint16, 單精度, 雙精度, int16

RGB1,RGB2 實數, 全矩陣 M×N×3 uint8, uint16, 單精度, 雙精度, int16

MAP,NEWMAP 實數, 全矩陣 M×N×3 [0,1]範圍的雙精度值。

[LOW_IN; HIGH_IN] 雙精度, 實數, 全矩陣 對於I, 大小隻能是2個元素。 對於RGB或MAP,大小隻能是2個元素或2×3矩陣。 LOW_IN < HIGH_IN

[LOW_OUT; HIGH_OUT] 與[LOW_IN; HIGH_IN]的大小限制相同。 LOW_OUT可以小於HIGH_OUT。

LOW_IN, HIGH_IN, LOW_OUT, HIGH_OUT 的範圍都必須是[0,1]。

GAMMA 實數, 雙精度, 正數 I的標量 RGB或MAP的1×3向量或標量。