ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imadjust

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

構文

J = imadjust(I)
J = imadjust(I,[low_in high_in])
J = imadjust(I,[low_in high_in],[low_out high_out])
J = imadjust(I,[low_in high_in],[low_out high_out],gamma)
J = imadjust(RGB,[low_in high_in],___)
newmap = imadjust(cmap,[low_in high_in],___)

説明

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

オプションで、コントラスト調整を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

この構文は、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 の新しい値にマップし、gammaIJ の間の関係を記述する曲線の形状を指定できます。

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

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

すべて折りたたむ

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

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

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

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

イメージを gpuArray に読み取って gpuArrayimadjust に渡します。

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

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

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

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

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

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

イメージを gpuArray に読み取って gpuArrayimadjust に渡します。

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

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

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

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

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

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

RGB イメージを gpuArray に読み取り、その gpuArray を入力イメージのコントラスト範囲を指定して imadjust に渡します。コントラスト範囲はカラー チャネルごとに異なります。

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

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

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

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

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

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

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

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

imshow(J)

入力引数

すべて折りたたむ

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

GPU を使用してコントラストを調整するには、I を m 行 n 列の数値行列を含む gpuArray として指定します。

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

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

GPU を使用してコントラストを調整するには、RGB を m x n x 3 の数値配列を含む gpuArray として指定します。

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

カラーマップ。c カラーを表す c 行 3 列の数値行列として指定します。

GPU を使用してコントラストを調整するには、cmap を c 行 3 列の数値行列を含む gpuArray として指定します。

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

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

コントラストの範囲

入力タイプ説明
グレースケール[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 と同じです。

GPU を使用してコントラストを調整する場合、J はグレースケール イメージまたは RGB イメージを含む gpuArray として返されます。

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

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

GPU を使用してコントラストを調整する場合、newmap は c 行 3 列の数値行列を含む gpuArray として返されます。

データ型: single | double

拡張機能

R2006a より前に導入