В этом примере показано, как вычислить цветовую разность измеренных и ссылочных цветов с помощью стандарта CIE94. По умолчанию, measureColor
функция вычисляет цветовую разность между измеренными и ссылочными цветами на тестовом графике с помощью стандарта CIE76. Можно использовать imcolordiff
функция, чтобы вычислить цветовую разность с помощью CIE94 или стандарта CIEDE2000.
Считайте изображение графика X-Rite® 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'}};
Преобразуйте измеренные цвета RGB в L*a*b* цветовое пространство, задав белую точку D50.
measuredLab = rgb2lab(measuredRGB,"WhitePoint","d50");
Вычислите цветовую разность с помощью imcolordiff
функция, указывая, что цветные измерения находятся в L*a*b* цветовое пространство. По умолчанию эта функция вычисляет цветовые разности с помощью стандарта CIE94.
dE = imcolordiff(measuredLab,referenceLab,"isInputLab",true);
Составьте новую таблицу цветов с помощью новых измерений цветового различия.
colorTable94 = colorTable;
colorTable94{:,"Delta_E"} = dE;
На схеме цветового поля отобразите измеренные и ссылочные цвета с соответствующим цветовым различием CIE94, наложенным на каждую закрашенную фигуру.
displayColorPatch(colorTable94)
deltaE
| displayChart
| displayColorPatch
| imcolordiff
| plotChromaticity
| rgb2lab