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)

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

colorTable = measureColor(chart);

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

figure
plotChromaticity(colorTable)

X-Rite® 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)

入力引数

すべて折りたたむ

各カラー パッチに含まれるカラー値。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_ECIE 1976 で説明されているように、測定色と基準色の間のユークリッド色の距離。

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: '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* 値は、X-Rite® ColorChecker チャートの "After November 2014" バージョン用です。基準値の白色点は CIE 標準光源 D50 です。

R2017b で導入