테스트 차트 색의 CIE94 색 차이 계산하기
이 예제에서는 CIE94 표준을 사용하여 측정된 색과 기준 색의 색 차이를 계산하는 방법을 보여줍니다.
measureColor 함수는 테스트 차트의 색을 측정하고 CIE76 표준을 사용하여 측정된 색과 기준 색 간의 색 차이를 계산합니다. imcolordiff 함수를 사용하여 CIE94 또는 CIEDE2000 표준을 사용해 색 차이를 계산할 수 있습니다.
ColorChecker® 차트 영상을 작업 공간으로 읽어 들입니다.
I = imread("colorCheckerTestImage.jpg");colorChecker 객체를 만든 후 ROI 주석이 있는 차트를 표시합니다.
chart = colorChecker(I); displayChart(chart)

각 색 패치 ROI에서 색을 측정하고 측정값을 테이블 colorTable로 반환합니다. 테이블의 Delta_E 변수에 표시되는 색 차이 측정값은 CIE76 표준을 따릅니다.
colorTable = measureColor(chart);
색 패치 다이어그램에 측정된 색과 기준 색을 표시하고, 각 패치에 해당하는 CIE76 색 차이를 겹쳐서 표시합니다.
displayColorPatch(colorTable)

기준 L*a*b*와 측정된 RGB 색 값을 테이블로 추출합니다.
referenceLab = colorTable{:,["Reference_L","Reference_a","Reference_b"]};
measuredRGB = colorTable{:,["Measured_R","Measured_G","Measured_B"]};D50 백색점을 지정하고 측정된 RGB 색을 L*a*b* 컬러스페이스로 변환합니다.
measuredLab = rgb2lab(measuredRGB,WhitePoint="d50");색 측정값이 L*a*b* 컬러스페이스에 있다고 지정하고 imcolordiff 함수를 사용하여 색 차이를 계산합니다. 기본적으로 이 함수는 CIE94 표준을 사용하여 색 차이를 계산합니다.
dE = imcolordiff(measuredLab,referenceLab,isInputLab=true);
새로운 색 차이 측정값을 사용하여 새로운 색 테이블을 만듭니다.
colorTable94 = colorTable;
colorTable94{:,"Delta_E"} = dE;색 패치 다이어그램에 측정된 색과 기준 색을 표시하고, 각 패치에 해당하는 CIE94 색 차이를 겹쳐서 표시합니다.
displayColorPatch(colorTable94)

참고 항목
deltaE | imcolordiff | rgb2lab | displayChart | displayColorPatch | plotChromaticity