此示例显示如何调整图像的颜色,以更好地匹配标准化的颜色imatest.®边缘空间频率响应(ESFR)测试图。
读取测试图表的图像。
我= imread('esfrtestimage.jpg');
创建一个Esfrchart.
存储有关测试图表信息的对象。显示图表,突出显示16个颜色贴片。图像具有蓝色色调。
图表= ESFrchart(i);displaychart(图表,'singering agrais',错误的,......'displaygrayrois',错误的,'displayregistrationpoints',错误的)
通过使用通过使用16个颜色贴片的颜色精度MeasureColor.
功能。该函数还返回用于执行颜色校正的颜色校正矩阵。
[Colortable,CCM] = MeasureColor(图表);
比较彩色补丁图上的测量和参考颜色。越近delta_e.
值为1,显着的色差是。
displaycolorpatch(colortable)
颜色纠正原始测试图表图像并显示结果。
i_cc = imapplymatrix(ccm(1:3,:)',i,ccm(4,:));imshow(i_cc)标题('使用颜色贴片的颜色校正的图像')
创建一个Esfrchart.
存储有关颜色更正的测试图表信息的对象。测量16种颜色校正颜色斑块的颜色精度。
chart_cc = ESFrchart(I_CC);Colortably_CC = MeasureColor(Chart_cc);
比较彩色补丁图上的纠正和引用颜色。测量的颜色误差,delta_e.
,颜色校正的图像比原始图像更小。因此,此图像中的颜色更好地与参考颜色同意。但是,图表现在具有整体黄色色调,并且图像的对比度降低。
displaycolorpatch(colortable_cc)
您可以通过包括灰色贴片和最小二乘拟合的颜色贴片来改善颜色校正。显示原始图表,突出显示20个灰色贴片和16个颜色贴片。
displaychart(图表,'singering agrais',错误的,......'displayregistrationpoints',错误的)
获取参考l * a * b *颜色和灰度补丁的值,存储在其中riffencecolorlab.
和参考资料
ESFR图表对象的属性。将这些值转换为RGB颜色空间。
引用= [chart.referenceColorlab;Chart.ReeliferGraylab];referencergb = lab2rgb(引用,'OutputType'那'uint8');
通过使用使用的每一个灰色贴片中的每一个的平均灰度值measureenoise.
功能。
noisetable = measureenoise(图表);测量抛光rgb = [noisetable.meanInts_R,......noisetable.meanIntss_g,......noisetable.meanIntss_B];
连接所有测量的颜色和灰度贴片的RGB颜色值。
测量科学鼠标= [colortable.measured_r,......Colortable.measured_g,......Colortable.measured_b];测量rgb = [测量科学;测量GRAYRGB];CCM_CC = DOUBLE([测量仪器(36,1)])\ DOUBLE(REGHTECARGB);
执行颜色校正并显示结果。图表不再具有黄色色调,图表的整体外观提高。
i_cc2 = imapplymatrix(ccm_cc(1:3,:)',i,ccm_cc(4,:)');imshow(i_cc2)标题('使用灰色和颜色贴片的颜色校正的图像')
比较彩色补丁图上的纠正和引用颜色。一些测量的颜色误差降低,而其他则增加。
chart_cc2 = ESFrchart(i_cc2);colortably_cc2 = measurecolor(chart_cc2);displaycolorpatch(colortable_cc2)
[1]imatest.®。“ESFR”。https://www.imatest.com/mathworks/esfr/。
displaycolorpatch.
|Esfrchart.
|MeasureColor.
|曲线性