Main Content

plotChromaticity

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

説明

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

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

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

すべて折りたたむ

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

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

I = imread("eSFRTestImage.jpg");

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

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

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

colorTable = measureColor(chart);

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

figure
plotChromaticity(colorTable)

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

I = imread("colorCheckerTestImage.jpg");

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

chart = colorChecker(I);
displayChart(chart)

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

colorTable = measureColor(chart);

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

figure
plotChromaticity(colorTable)

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)

入力引数

すべて折りたたむ

各カラー パッチに含まれるカラー値。n 行の table として指定します。n はカラー ROI の数です。カラー値の table を取得するには、関数 measureColor を使用します。

名前と値の引数

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

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

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

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

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

色空間。xyY 色空間でプロットする場合は "xy"、u'v'L 色空間でプロットする場合は "uv" として指定します。

データ型: char | string

ROI インデックス ラベルの表示。数値または logical の 1 (true) か 0 (false) として指定します。displayROIIndextrue の場合、関数 plotChromaticity は色度ダイアグラム上にカラーパッチ ROI インデックス ラベルを重ね合わせます。

色度ダイアグラムの親の座標軸。Axes オブジェクトとして指定します。

色度ダイアグラムの次元。2 次元投影の場合は 2、3 次元色立体の場合は 3 として指定します。

ヒント

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

バージョン履歴

R2017b で導入