このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
deltaE
説明
例
CIE76 標準を使用した 2 つの色の色差の計算
2 つの RGB カラー値を指定します。
pureRed = uint8([255 0 0]); darkRed = uint8([255 10 50]);
色の色差を計算します。
dE = deltaE(pureRed,darkRed)
dE = single
18.6206
RGB イメージの色差の計算
カラー イメージをワークスペースに読み取ります。
I1 = imread('peppers.png');
imshow(I1)
イメージの局所的な色のコントラストを変更します。
I2 = localcontrast(I1); imshow(I2)
イメージの色差を計算します。
dE = deltaE(I1,I2);
色差をイメージとして表示します。dE
の最大値が、データ型 single
のイメージに期待できる範囲 [0, 1] を超えているため、データの表示範囲全体を使用してイメージを表示します。明るいピクセルは大きな色差を示し、そのためにコントラスト強調の量が多くなります。
imshow(dE,[])
L*a*b* イメージの色差の計算
ヘマトキシリンとエオシン (H&E) で染色された組織のイメージを読み取って表示します。
he = imread("hestain.png");
imshow(he)
イメージを L*a*b* 色空間に変換します。
lab = rgb2lab(he);
イメージのコピーを作成し、a* チャネルの信号を増やします。イメージ内の赤の色合いは彩度が高くなりますが、イメージ全体の明度と青の色合いは変わりません。
lab2 = lab; scaleFactor = 1.2; lab2(:,:,2) = scaleFactor*lab(:,:,2);
L*a*b* 色空間における元のイメージと強調されたイメージの色差を計算します。
dE = deltaE(lab,lab2,isInputLab=true);
色差をイメージとして表示します。表示範囲をスケーリングして、dE
のピクセル値の範囲に合わせます。明るい領域は最も色差が大きいことを示し、組織のピンクの領域に対応しています。
imshow(dE,[])
入力引数
I1
— 1 番目のカラー データ セット
1 行 3 列の数値ベクトル | c 行 3 列の数値行列 | 数値配列
1 番目のカラー データ セット。次のいずれかの形式で指定します。
基準色を表す 1 行 3 列の数値ベクトル。
c 個の色のセットを表す c 行 3 列の数値行列。
カラー イメージを表す m×n×3 の数値配列。
カラー イメージのバッチを表す、配列 m×n×3×p などの多次元数値配列。3 番目の次元はカラー チャネルに対応し、3 個のチャネルがなければなりません。
I2
が基準色でない場合は、I1
が基準色、または I2
と同じサイズの数値配列でなければなりません。
I1
および I2
は同じ色空間になければなりません。既定では、関数 deltaE
はカラー データを RGB カラー値として解釈します。L*a*b* 色空間における色差を計算するには、引数 isLab
を true
として指定します。L*a*b* カラー値のデータ型にできるのは single
または double
のみです。
データ型: single
| double
| uint8
| uint16
I2
— 2 番目のカラー データ セット
1 行 3 列の数値ベクトル | c 行 3 列の数値行列 | 数値配列
2 番目のカラー データ セット。次のいずれかの形式で指定します。
基準色を表す 1 行 3 列の数値ベクトル。
c 個の色のセットを表す c 行 3 列の数値行列。
カラー イメージを表す m×n×3 の数値配列。
カラー イメージのバッチを表す、配列 m×n×3×p などの多次元数値配列。3 番目の次元はカラー チャネルに対応し、3 個のチャネルがなければなりません。
I1
が基準色でない場合は、I2
が基準色、または I1
と同じサイズの数値配列でなければなりません。
I1
および I2
は同じ色空間になければなりません。既定では、関数 deltaE
はカラー データを RGB カラー値として解釈します。L*a*b* 色空間における色差を計算するには、引数 isLab
を true
として指定します。L*a*b* カラー値のデータ型にできるのは single
または double
のみです。
データ型: single
| double
| uint8
| uint16
isLab
— L*a*b* 色空間のカラー値
false
または 0
(既定値) | true
または 1
L*a*b* 色空間のカラー値。数値または logical の 0
(false
) または 1
(true
) として指定します。
出力引数
dE
— 色差
数値行列 | c 行 1 列の列ベクトル | 数値スカラー | 数値配列
色差 (デルタ E)。次のいずれかとして返されます。
m 行 n 列の数値行列。この配列は、2 つのカラー イメージ、またはカラー イメージと基準色のピクセル単位の色差を表します。
c 行 1 列の数値列ベクトル。このベクトルは、2 組の c 個の色のセットの色差、または c 個の色のセットと基準色の色差を表します。
2 つの基準色の色差を表す数値スカラー。
多次元数値配列。この配列は、2 つのカラー イメージのバッチ、またはカラー イメージのバッチと基準色のピクセル単位の色差を表します。3 番目の次元の長さは 1 で、色差を示します。
I1
または I2
がデータ型 double
の場合、dE
のデータ型は double
です。それ以外の場合、dE
のデータ型は single
です。
データ型: single
| double
ヒント
色差計算の精度を高めるには、関数
imcolordiff
を使用します。この関数は CIE94 標準および CIEDE2000 標準に準拠しており、異なるアプリケーションにおける知覚的均一性を向上させるためのパラメーターがあります。
バージョン履歴
R2020b で導入R2023a: 基準色および多次元イメージのサポート
イメージの各ピクセル (または色のセット内の各色) と基準色の色差を計算できるようになりました。これを行うには、基準色を表す 1 行 3 列の数値ベクトルとして I1
または I2
を指定します。
I1
および I2
は、カラー イメージのバッチを表す多次元数値配列として指定できるようになりました。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)