Оцените Метрики качества на Тестовом Графике eSFR

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

Создайте тестовый объект диаграммы

Считайте изображение графика eSFR в рабочую область. Отобразите график.

I = imread('eSFRTestImage.jpg');
imshow(I)
title('Captured Image of eSFR Chart')
text(size(I,2),size(I,1)+15, ...
    ['Chart courtesy of Imatest',char(174)],'FontSize',10,'HorizontalAlignment','right');

Figure contains an axes object. The axes object with title Captured Image of eSFR Chart contains 2 objects of type image, text.

Создайте тестовый объект диаграммы eSFR, который автоматически задает видимые области (ROIs) на основе обнаруженных регистрационных маркеров.

chart = esfrChart(I);

Подсветите и пометьте обнаруженные ROI, чтобы визуально подтвердить, что ROI подходят для измерений.

displayChart(chart)

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

Все 60 наклонных ROI ребра (помеченный в зеленом) отображаются и сосредоточены на соответствующих ребрах. Кроме того, 20 серых ROI закрашенной фигуры (помеченный в красном) и 16 ROI цветового поля (помеченный в белом) отображаются и содержатся в контуре каждой закрашенной фигуры. График правильно импортируется.

Измерьте резкость края

Измерьте резкость всех 60 наклонных ROI ребра. Также измерьте усредненную горизонтальную и вертикальную резкость этих ROI.

[sharpnessTable,aggregateSharpnessTable] = measureSharpness(chart);

Отобразите график швейцарского франка для первых четырех ROI.

plotSFR(sharpnessTable,'ROIIndex',1:4,'displayLegend',false,'displayTitle',true)

Figure SFR Plots for ROI 1 contains an axes object. The axes object with title ROI 1 contains 8 objects of type line.

Figure SFR Plots for ROI 2 contains an axes object. The axes object with title ROI 2 contains 8 objects of type line.

Figure SFR Plots for ROI 3 contains an axes object. The axes object with title ROI 3 contains 8 objects of type line.

Figure SFR Plots for ROI 4 contains an axes object. The axes object with title ROI 4 contains 8 objects of type line.

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

plotSFR(aggregateSharpnessTable)

Figure Average SFR Plots for Vertical ROIs contains an axes object. The axes object with title Average Vertical SFR contains 8 objects of type line. These objects represent Red Channel, Green Channel, Blue Channel, Luminance Channel, Red Channel Beyond Nyquist, Green Channel Beyond Nyquist, Blue Channel Beyond Nyquist, Luminance Channel Beyond Nyquist.

Figure Average SFR Plots for Horizontal ROIs contains an axes object. The axes object with title Average Horizontal SFR contains 8 objects of type line. These objects represent Red Channel, Green Channel, Blue Channel, Luminance Channel, Red Channel Beyond Nyquist, Green Channel Beyond Nyquist, Blue Channel Beyond Nyquist, Luminance Channel Beyond Nyquist.

Измерьте хроматическую аберрацию

Измерьте хроматическую аберрацию во всех наклонных ROI ребра.

chTable = measureChromaticAberration(chart);

Постройте нормированный профиль интенсивности этих трех цветовых каналов в первом ROI. Сохраните нормированный краевой профиль в отдельной переменной, edgeProfile, для ясности.

roi_index = 1;
edgeProfile = chTable.normalizedEdgeProfile{roi_index};

figure
p = length(edgeProfile.normalizedEdgeProfile_R);
plot(1:p,edgeProfile.normalizedEdgeProfile_R,'r', ...
     1:p,edgeProfile.normalizedEdgeProfile_G,'g', ...
     1:p,edgeProfile.normalizedEdgeProfile_B,'b')
xlabel('Pixel')
ylabel('Normalized Intensity')
title(['ROI ' num2str(1) ' with Aberration ' num2str(chTable.aberration(1))])

Figure contains an axes object. The axes object with title ROI 1 with Aberration 1.2533 contains 3 objects of type line.

Цветовые каналы имеют подобные нормированные профили интенсивности, и не много цветного окаймления отображается вдоль ребра.

Шум меры

Измерьте шум с помощью 20 серых ROI закрашенной фигуры.

noiseTable = measureNoise(chart);

Постройте средний необработанный сигнал и отношение сигнал-шум (SNR) в каждом полутоновом ROI.

figure

subplot(1,2,1)
plot(noiseTable.ROI,noiseTable.MeanIntensity_R,'r', ...
    noiseTable.ROI,noiseTable.MeanIntensity_G,'g', ...
    noiseTable.ROI,noiseTable.MeanIntensity_B,'b')
title('Signal')
ylabel('Intensity')
xlabel('Gray ROI Number')
grid on

subplot(1,2,2)
plot(noiseTable.ROI,noiseTable.SNR_R,'r', ...
    noiseTable.ROI,noiseTable.SNR_G,'g', ...
    noiseTable.ROI,noiseTable.SNR_B,'b')
title('SNR')
ylabel('dB')
xlabel('Gray ROI Number')
grid on

Figure contains 2 axes objects. Axes object 1 with title Signal contains 3 objects of type line. Axes object 2 with title SNR contains 3 objects of type line.

Оценочный источник света

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

illum = measureIlluminant(chart)
illum = 1×3

  110.9147  116.0008  123.2339

Измерьте точность цветопередачи

Измерьте точность цветопередачи с помощью 16 ROI цветового поля.

[colorTable,ccm] = measureColor(chart);

Отобразите средний измеренный цвет и ожидаемый цвет ROI. Отобразите измерение точности цветопередачи, Delta_E. Ближе Delta_E значение к 1, менее заметное, которое цветовое различие. Типичные значения Delta_E лежите в диапазоне от 3 до 6 для печати и до 20 в другом коммерческом применении.

figure
displayColorPatch(colorTable)

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

Постройте измеренное, и ссылочное раскрашивает CIE 1976 L*a*b* цветовое пространство на схеме цветности. Красные круги указывают на ссылочный цвет. Зеленые круги указывают на измеренный цвет каждого цветового поля.

figure
plotChromaticity(colorTable)

Figure contains an axes object. The axes object contains 34 objects of type surface, scatter, quiver, text.

Можно использовать матрицу коррекции цвета, ccm, к цветному правильному тестовые изображения графика. Для примера смотрите, что Правильные Цвета Используют Матрицу Коррекции цвета.

Ссылки

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

| | | | | |

Похожие темы