Main Content

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

plotChromaticity

色度ダイアグラム上で色再現をプロットします

説明

plotChromaticity(colorTable) は、テスト チャート内のカラーパッチ関心領域 (ROI) に対して、測定色と基準色である colorTable を色度ダイアグラム上にプロットします。

plotChromaticity は、空の色度ダイアグラムをプロットします。

plotChromaticity(___,Name,Value) は、名前と値の引数を使用して表示の特性を調整します。

すべて折りたたむ

この例は、Imatest® eSFR チャートの色精度の測定値から色度ダイアグラムを表示する方法を示します。

eSFR チャートのイメージをワークスペースに読み取ります。

I = imread("eSFRTestImage.jpg");

esfrChart オブジェクトを作成します。チャートを表示し、16 個のカラー パッチを強調表示します。

chart = esfrChart(I);
displayChart(chart,displayEdgeROIs=false, ...
    displayGrayROIs=false,displayRegistrationPoints=false)

Figure eSFR test chart contains an axes object. The axes object contains 17 objects of type image, text.

すべてのカラー パッチ ROI で色を測定します。

colorTable = measureColor(chart);

CIE 1976 L*a*b* 色空間の測定色と基準色を色度ダイアグラムにプロットします。各カラー パッチの赤色の円は基準色を、緑色の円は測定色を示します。色度ダイアグラムは色の明度は表しません。

figure
plotChromaticity(colorTable)

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 34 objects of type surface, scatter, quiver, text.

ColorChecker® チャートのイメージをワークスペースに読み取ります。

I = imread("colorCheckerTestImage.jpg");

colorChecker オブジェクトを作成し、ROI 注釈を含むチャートを表示します。

chart = colorChecker(I);
displayChart(chart)

Figure Color checker test chart contains an axes object. The axes object contains 25 objects of type image, text.

各カラー パッチ ROI で色を測定します。

colorTable = measureColor(chart);

測定色と基準色を色度ダイアグラムにプロットします。

figure
plotChromaticity(colorTable)

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 50 objects of type surface, scatter, quiver, text.

sRGB の原色を XYZ 色空間に変換します。

xyz_primaries = rgb2xyz([1 0 0; 0 1 0; 0 0 1]);

原色の x および y の値を正規化します。

xyzMag = sum(xyz_primaries,2);
x_primary = xyz_primaries(:,1)./xyzMag;
y_primary = xyz_primaries(:,2)./xyzMag;

D65 の白色点を計算および正規化します。

wp = whitepoint('D65');

白色点の x および y の値を正規化します。

wpMag = sum(wp,2);
x_whitepoint = wp(:,1)./wpMag;
y_whitepoint = wp(:,2)./wpMag;

空の 2 次元色度ダイアグラムを作成します。

plotChromaticity

原色および白色点の座標 (x,y) を色度ダイアグラムに追加します。

hold on
scatter(x_whitepoint,y_whitepoint,36,'black')
scatter(x_primary,y_primary,36,'black')
plot([x_primary; x_primary],[y_primary; y_primary],'k')
hold off

u'v'L 色空間の 3 次元色立体を空の色度ダイアグラムに表示します。明度のしきい値として 0 を指定することで、すべての u'v'L カラーを含めます。

plotChromaticity("ColorSpace","uv","View",3,"BrightnessThreshold",0)

入力引数

すべて折りたたむ

各カラー パッチに含まれるカラー値。m 行 8 列のカラー テーブルとして指定します。m はパッチの数です。8 つの列は、以下の変数を表します。

変数説明
ROIサンプリングされた ROI のインデックス。ROI の値は範囲 [1, 16] の整数です。インデックスは、displayChart で表示された ROI 番号と一致します。
Measured_R

ROI 内の赤のチャネル ピクセルの平均値。Measured_R は、chart.Image と同じデータ型のスカラーであり、型は、singledoubleuint8、または uint16 のいずれかです。

Measured_G

ROI 内の緑のチャネル ピクセルの平均値。Measured_G は、chart.Image と同じデータ型のスカラーです。

Measured_B

ROI 内の青のチャネル ピクセルの平均値。Measured_B は、chart.Image と同じデータ型のスカラーです。

Reference_L

ROI の Reference L* の値。Reference_Ldouble 型のスカラーです。

Reference_a

ROI の Reference a* の値。Reference_adouble 型のスカラーです。

Reference_b

ROI の Reference b* の値。Reference_bdouble 型のスカラーです。

Delta_E

CIE 1976 で記述されている、L*a*b* 色空間における測定色と基準色との間の色のユークリッド距離。Delta_Edouble 型のスカラーです。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'displayROIIndex',false は、色度ダイアグラム上の ROI インデックスの表示をオフにします。

明度のしきい値。'BrightnessThreshold' と範囲 [0, 1] の数値で構成されるコンマ区切りのペアとして指定します。関数 plotChromaticity は、Y または L の値 (色空間によって異なります) が明度のしきい値未満であるカラー値を表示しません。

色空間。'ColorSpace' と、xyY 色空間でプロットする場合は 'xy'、u'v'L 色空間でプロットする場合は 'uv' で構成されるコンマ区切りペアとして指定します。

データ型: char | string

ROI インデックス ラベルの表示。'displayROIIndex'数値または logical の 1 (true) または 0 (false) で構成されるコンマ区切りペアとして指定します。displayROIIndextrue の場合、関数 plotChromaticity は色度ダイアグラム上にカラーパッチ ROI インデックス ラベルを重ね合わせます。インデックスは、関数 displayChart で表示された ROI 番号と一致します。

色度ダイアグラムの親の座標軸。'Parent'Axes オブジェクトで構成されるコンマ区切りのペアとして指定します。

色度ダイアグラムの次元。'View' と、2 次元投影の場合は 2、3 次元色立体の場合は 3 で構成されるコンマ区切りのペアとして指定します。

ヒント

  • esfrChart または colorChecker オブジェクトから正しい形式のカラー テーブルを取得するには、関数 measureColor を使用します。任意の数のカラー ROI の測定色および基準色を含む独自のカラー テーブルを作成することもできます。

  • colorChecker オブジェクトから測定した colorTable の基準 L*a*b* 値は、ColorChecker® チャートの "After November 2014" バージョン用です。基準値の白色点は CIE 標準光源 D50 です。

バージョン履歴

R2017b で導入