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

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

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

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

I = imread('eSFRTestImage.jpg');
figure
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. The axes with title Captured Image of eSFR Chart contains 2 objects of type image, text.

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

chart = esfrChart(I);

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

displayChart(chart)

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

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

Измерение резкости ребра

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

[sharpnessTable,aggregateSharpnessTable] = measureSharpness(chart);

Отображение графика SFR для первых четырех ROIs.

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

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

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

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

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

Отобразите среднее значение SFR для усреднённых вертикальных и горизонтальных ребер. Вертикальное среднее значение SFR падает быстрее, чем среднее значение горизонтальный SFR. Поэтому среднее вертикальное ребро менее острая, чем среднее горизонтальное ребро.

plotSFR(aggregateSharpnessTable)

Figure Average SFR Plots for Vertical ROIs contains an axes. The axes 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. The axes 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.

Измерение хроматической аберрации

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

chTable = measureChromaticAberration(chart);

Постройте график нормированной интенсивности трех цветовых каналов в первом информация только для чтения. Сохраните нормированный профиль ребра в отдельной переменной, 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. The axes with title ROI 1 with Aberration 1.2533 contains 3 objects of type line.

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

Измерение шума

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

noiseTable = measureNoise(chart);

Постройте график среднего значения необработанного сигнала и отношения сигнал/шум (ОСШ) в каждой полутоновой информации только для чтения.

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. Axes 1 with title Signal contains 3 objects of type line. Axes 2 with title SNR contains 3 objects of type line.

Оценка освещенности

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

illum = measureIlluminant(chart)
illum = 1×3

  110.9147  116.0008  123.2339

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

Измерьте точность цвета с помощью 16 цветовых патчей ROIs.

[colorTable,ccm] = measureColor(chart);

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

figure
displayColorPatch(colorTable)

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

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

figure
plotChromaticity(colorTable)

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

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

Ссылки

[1] Иматест®. «Esfr». https://www.imatest.com/mathworks/esfr/.

См. также

| | | | | |

Похожие темы

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