exponenta event banner

Оценка показателей качества на тестовой диаграмме eSFR

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

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

Считывание изображения диаграммы 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, который автоматически определяет интересующие области (ROI) на основе обнаруженных маркеров регистрации.

chart = esfrChart(I);

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

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 наклонных краевых ROI. Также измерить усредненную горизонтальную и вертикальную резкость этих ROI.

[sharpnessTable,aggregateSharpnessTable] = measureSharpness(chart);

Просмотрите график SFR для первых четырех ROI.

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.

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

Измерьте хроматическую аберрацию при всех 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. The axes 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. Axes 1 with title Signal contains 3 objects of type line. Axes 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. 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] Imatest ®. «Эсфр.» https://www.imatest.com/mathworks/esfr/.

См. также

| | | | | |

Связанные темы