주요 콘텐츠

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)

Figure eSFR test chart contains an axes object. The hidden 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 hidden 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)

입력 인수

모두 축소

각 색 패치의 색 값으로, n개의 행을 가진 테이블로 지정됩니다. 여기서 n은 색 ROI의 개수입니다. 색 값 테이블을 가져오려면 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 인덱스 레이블 표시 여부로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. displayROIIndextrue이면, plotChromaticity 함수는 색도 다이어그램에 색 패치 ROI 인덱스 레이블을 겹쳐 놓습니다.

색도 다이어그램의 부모 좌표축으로, Axes 객체로 지정됩니다.

색도 다이어그램의 차원 수로, 2차원 투영에 대해서는 2로 지정되고 3차원 색입체에 대해서는 3으로 지정됩니다.

  • colorChecker 객체에서 측정된 colorValues의 기준 L*a*b* 값은 "After November 2014" 버전의 ColorChecker® 차트를 기준으로 합니다. 기준 값의 백색점은 CIE 표준 광원 D50입니다.

버전 내역

R2017b에 개발됨