Правильные цвета Используя матрицу коррекции цвета

В этом примере показано, как настроить цвета изображения, чтобы лучше соответствовать, стандартизированный набор цветов на ребре пространственной частотной характеристике (eSFR) Imatest® тестируют график.

Получите матрицу коррекции цвета из тестового изображения графика

Считайте изображение тестового графика.

I = imread('eSFRTestImage.jpg'); 

Создайте esfrChart объект, который хранит информацию о тестовом графике. Отобразите график, подсветив эти 16 цветовых полей. Изображение имеет синий оттенок.

chart = esfrChart(I);
displayChart(chart,'displayEdgeROIs',false, ...
    'displayGrayROIs',false,'displayRegistrationPoints',false)

Figure eSFR test chart contains an axes. The axes contains 17 objects of type image, text.

Измерьте точность цветопередачи этих 16 цветовых полей при помощи measureColor функция. Функция также возвращает матрицу коррекции цвета, которая используется, чтобы выполнить коррекцию цвета.

[colorTable,ccm] = measureColor(chart);

Сравните измеренные и ссылочные цвета на схеме цветового поля. Ближе Delta_E значение к 1, менее заметное, которое цветовое различие.

displayColorPatch(colorTable)

Figure Visual Color Comparison contains an axes. The axes contains 17 objects of type image, text.

Цветной правильный тестовое изображение графика

Цветной правильный исходное тестовое изображение графика и отображают результат.

I_cc = imapplymatrix(ccm(1:3,:)',I,ccm(4,:));
imshow(I_cc)
title('Color-Corrected Image Using Color Patches')

Figure Visual Color Comparison contains an axes. The axes with title Color-Corrected Image Using Color Patches contains an object of type image.

Создайте esfrChart объект, который хранит информацию об откорректированном цветом тестовом графике. Измерьте точность цветопередачи 16 откорректированных цветом цветовых полей.

chart_cc = esfrChart(I_cc);
colorTable_cc = measureColor(chart_cc);

Сравните откорректированные и ссылочные цвета на схеме цветового поля. Измеренные цветные ошибки, delta_E, меньше для откорректированного цветом изображения, чем для оригинального изображения. Поэтому цвета в этом изображении лучше соглашаются со ссылочными цветами. Однако график теперь имеет полный желтый оттенок, и контраст изображения уменьшился.

displayColorPatch(colorTable_cc)

Figure Visual Color Comparison contains an axes. The axes contains 17 objects of type image, text.

Улучшите коррекцию цвета Используя серые закрашенные фигуры

Можно улучшить коррекцию цвета включением серых закрашенных фигур, а также цветовых полей в методе наименьших квадратов. Отобразите исходный график, подсветив 20 серых закрашенных фигур и 16 цветовых полей.

displayChart(chart,'displayEdgeROIs',false, ...
    'displayRegistrationPoints',false)

Figure eSFR test chart contains an axes. The axes contains 37 objects of type image, text.

Получите ссылочный L*a*b* значения цветных и полутоновых закрашенных фигур, которые хранятся в ReferenceColorLab и ReferenceGrayLab свойства eSFR объекта диаграммы. Преобразуйте эти значения в цветовое пространство RGB.

referenceLab = [chart.ReferenceColorLab; chart.ReferenceGrayLab];
referenceRGB = lab2rgb(referenceLab,'outputtype','uint8');

Измерьте средний уровень яркости в каждой из 20 серых закрашенных фигур при помощи measureNoise функция.

noiseTable = measureNoise(chart);
measuredGrayRGB = [noiseTable.MeanIntensity_R, ...
    noiseTable.MeanIntensity_G, ...
    noiseTable.MeanIntensity_B];

Конкатенация всех измеренных значений цвета RGB цветных и полутоновых закрашенных фигур.

measuredColorRGB = [colorTable.Measured_R, ...
    colorTable.Measured_G, ...
    colorTable.Measured_B];
measuredRGB = [measuredColorRGB; measuredGrayRGB];
ccm_cc = double([measuredRGB ones(36,1)]) \ double(referenceRGB);

Выполните коррекцию цвета и отобразите результат. График больше не имеет желтый оттенок, и полный внешний вид графика улучшился.

I_cc2 = imapplymatrix(ccm_cc(1:3,:)',I,ccm_cc(4,:)');
imshow(I_cc2)
title('Color-Corrected Image Using Gray and Color Patches')

Figure eSFR test chart contains an axes. The axes with title Color-Corrected Image Using Gray and Color Patches contains an object of type image.

Сравните откорректированные и ссылочные цвета на схеме цветового поля. Некоторые измеренные цветные ошибки уменьшились, в то время как другие увеличились.

chart_cc2 = esfrChart(I_cc2);
colorTable_cc2 = measureColor(chart_cc2);
displayColorPatch(colorTable_cc2)

Figure Visual Color Comparison contains an axes. The axes contains 17 objects of type image, text.

Ссылки

Смотрите также

| | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте