这个例子展示了如何使用CIE94标准计算被测颜色和参考颜色的色差。默认情况下,measureColor
函数使用CIE76标准在测试图表上计算被测颜色和参考颜色之间的色差。你可以使用imcolordiff
函数使用CIE94或CIEDE2000标准计算色差。
将X-Rite®ColorChecker®图表的图像读取到工作空间。
我= imread (“colorCheckerTestImage.jpg”);
创建一个colorChecker
对象,然后显示带有ROI注释的图表。
图= colorChecker(我);displayChart(图)
测量每个色斑ROI中的颜色,并将测量结果反馈到表格中,colorTable
.色差测量在Delta_E
表中的变量遵循CIE76标准。
colorTable = measureColor(图);
在色斑图上,显示测量的颜色和参考颜色,并在每个色斑上叠加相应的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标准计算颜色差异。
德= imcolordiff (measuredLab referenceLab,“isInputLab”,真正的);
创建一个新的颜色表使用新的色差测量。
colorTable94 = colorTable;colorTable94 {:,“Delta_E”} =德;
在色斑图上,显示测量的颜色和参考颜色,并在每个色斑上叠加相应的CIE94色差。
displayColorPatch (colorTable94)
deltaE
|displayChart
|displayColorPatch
|imcolordiff
|plotChromaticity
|rgb2lab