Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

imadjust

イメージの強度値またはカラーマップの調整

説明

J = imadjust(I) はグレースケール イメージ I の強度の値を J の新しい値にマッピングします。既定では、imadjust はすべてのピクセル値の下位 1% と上位 1% を飽和させます。この関数は、彩度の上下限の間にあるピクセル値を 0 ~ 1 の値に線形にマッピングします。この操作により、出力イメージ J のコントラストが増大します。

この構文は、imadjust(I,stretchlim(I)) と等価です。

J = imadjust(I,[low_in high_in]) は、low_inhigh_in の間の値が 0 と 1 の間の値に線形にマッピングされるように、I の強度の値を J の新しい値にマッピングします。

J = imadjust(I,[low_in high_in],[low_out high_out]) は、low_inhigh_in の間の値が low_outhigh_out の間の値に線形にマッピングされるように、I の強度の値を J の新しい値にマッピングします。

J = imadjust(I,[low_in high_in],[low_out high_out],gamma)I の強度の値を J の新しい値にマッピングします。ここで、gamma は、I の値と J の値の関係を記述する曲線の形状を指定します。

J = imadjust(RGB,[low_in high_in],___) はトゥルーカラー イメージ RGB の値を J の新しい値にマッピングします。各カラー チャネルに同じマッピングまたは固有のマッピングを適用できます。

newcmap = imadjust(cmap,[low_in high_in],___) はカラーマップ cmap の値を newcmap の新しい値にマッピングします。各カラー チャネルに同じマッピングまたは固有のマッピングを適用できます。

すべて折りたたむ

低コントラストのグレースケール イメージをワークスペースに読み取って表示します。

I = imread('pout.tif');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

イメージのコントラストを調整してデータが高強度と低強度で 1 % 飽和するようにし、それを表示します。

J = imadjust(I);
figure
imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

低コントラストのグレースケール イメージをワークスペースに読み取って表示します。

I = imread('pout.tif');
imshow(I);

Figure contains an axes object. The axes object contains an object of type image.

コントラストの範囲を指定して、イメージのコントラストを調整します。

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

Figure contains an axes object. The axes object contains an object of type image.

RGB イメージをワークスペースに読み取って表示します。

RGB = imread('football.jpg');
imshow(RGB)

Figure contains an axes object. The axes object contains an object of type image.

コントラストの範囲を指定して、RGB イメージのコントラストを調整します。

RGB2 = imadjust(RGB,[.2 .3 0; .6 .7 1],[]);
figure
imshow(RGB2)

Figure contains an axes object. The axes object contains an object of type image.

イメージをワークスペースに読み取って表示します。

I = imread('pout.tif');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

ストレッチを行うために、標準偏差とイメージの平均値を計算します。

n = 2;  
Idouble = im2double(I); 
avg = mean2(Idouble);
sigma = std2(Idouble);

標準偏差に基づいてコントラストを調整します。

J = imadjust(I,[avg-n*sigma avg+n*sigma],[]);

調整されたイメージを表示します。

imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

グレースケール イメージ。m 行 n 列の数値行列として指定します。

データ型: single | double | int16 | uint8 | uint16

トゥルーカラー イメージ。m x n x 3 の数値配列として指定します。

データ型: single | double | int16 | uint8 | uint16

カラーマップ。範囲 [0, 1] の値をもつ c 行 3 列の数値行列として指定します。各行は、カラーマップの単一色を構成する赤、緑、青の成分を指定する 3 要素の RGB 3 成分です。

データ型: double

入力イメージのコントラストの範囲。以下のいずれかの値に指定します。

入力タイプ説明
グレースケール イメージ[low_in high_in] 形式の 1 行 2 列ベクトル出力イメージの値にマッピングする入力グレースケール イメージのコントラストの範囲を指定します。値は [0 1.0] の範囲でなければなりません。値 low_in が値 high_in 未満でなければなりません。
RGB イメージまたはカラーマップ[low_RGB_triplet; high_RGB_triplet] 形式の 2 行 3 列の行列出力イメージまたはカラーマップの値にマッピングする入力 RGB イメージまたはカラーマップのコントラストの範囲を指定します。配列の各行は RGB カラーの 3 成分です。値は [0 1] の範囲でなければなりません。値 low_RGB_triplet が値 high_RGB_triplet 未満でなければなりません。
RGB イメージまたはカラーマップ[low_in high_in] 形式の 1 行 2 列ベクトル出力イメージの値にマッピングする入力 RGB イメージのコントラストの範囲を指定します。各値は [0 1.0] の範囲になければなりません。値 low_in が値 high_in 未満でなければなりません。RGB イメージまたはカラーマップで 1 行 2 列のベクトルを指定する場合、imadjust は色平面またはチャネルごとに同じ調整を適用します。
すべてのタイプ[] 空行列 ([]) を指定すると、imadjust は既定の範囲 [0 1] を使用します。

imadjust は、low_in より小さい値と high_in より大きい値を切り取ります。low_in より小さい値は low_out にマッピングし、high_in より大きい値は high_out にマッピングします。

データ型: single | double

出力イメージのコントラストの範囲。以下のいずれかの値に指定します。

入力タイプ説明
グレースケール イメージ[low_out high_out] 形式の 1 行 2 列ベクトル出力グレースケール イメージのコントラストの範囲を指定します。各値は [0 1] の範囲になければなりません。
RGB イメージまたはカラーマップ[low_RGB_triplet; high_RGB_triplet] 形式の 2 行 3 列の行列出力 RGB イメージまたはカラーマップのコントラストの範囲を指定します。配列の各行は RGB カラーの 3 成分です。値は [0 1] の範囲でなければなりません。
RGB イメージまたはカラーマップ[low_out high_out] 形式の 1 行 2 列ベクトル出力イメージのコントラストの範囲を指定します。各値は [0 1] の範囲になければなりません。RGB イメージまたはカラーマップで 1 行 2 列のベクトルを指定する場合、imadjust は平面またはチャネルごとに同じ調整を適用します。
すべてのタイプ[] 空行列 ([]) を指定すると、imadjust は既定の範囲 [0 1] を使用します。

high_outlow_out より小さい場合、imadjust は写真のネガのように出力イメージを反転します。

データ型: single | double

入力値と出力値の関係を表す曲線の形状。非負のスカラーまたは 1 行 3 列の数値ベクトルとして指定します。

  • gamma が 1 より小さい場合、imadjust のマッピングでは高い (明るい) 出力値の方に重みが加わります。

  • gamma が 1 より大きい場合は、imadjust のマッピングでは低い (暗い) 出力値の方に重みが加わります。

  • gamma が 1 行 3 列のベクトルの場合、imadjust は色成分またはチャネルごとに固有のガンマを適用します。

  • 引数を省略した場合、gamma は既定の 1 (線形マッピング) に指定されます。

データ型: double

出力引数

すべて折りたたむ

調整されたイメージ。グレースケール イメージまたは RGB イメージとして返されます。J のサイズとクラスは入力グレースケール イメージ I またはトゥルーカラー イメージ RGB と同じです。

データ型: single | double | int16 | uint8 | uint16

調整されたカラーマップ。入力カラーマップ cmap と同じクラスの c 行 3 列の数値行列として返されます。

データ型: single | double

拡張機能

バージョン履歴

R2006a より前に導入