Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
En este ejemplo se muestra cómo realizar mediciones de calidad estándar en un gráfico de prueba de respuesta de frecuencia espacial de borde (eSFR) ®.Imatest Las propiedades medidas incluyen nitidez, aberración cromática, ruido, iluminación y precisión de color.
Lea una imagen de un gráfico de eSFR en el espacio de trabajo. Mostrar el gráfico.
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');
Cree un objeto de gráfico de prueba de eSFR que defina automáticamente las regiones de interés (ROI) en función de los marcadores de registro detectados.
chart = esfrChart(I);
Resalte y etiquete los ROI detectados para confirmar visualmente que los ROI son adecuados para las mediciones.
displayChart(chart)
Los 60 ROI de borde eslanado (etiquetados en verde) son visibles y se centran en los bordes apropiados. Además, 20 ROI de parche gris (etiquetados en rojo) y 16 ROIs de parche de color (etiquetados en blanco) son visibles y están contenidos dentro del límite de cada parche. El gráfico se importa correctamente.
Mida la nitidez de los 60 ROI de borde eslanado. También mida la nitidez horizontal y vertical promediada de estos IAP.
[sharpnessTable,aggregateSharpnessTable] = measureSharpness(chart);
Visualice la gráfica SFR para los primeros cuatro ROI.
plotSFR(sharpnessTable,'ROIIndex',1:4,'displayLegend',false,'displayTitle',true)
Visualice el SFR medio de los bordes verticales y horizontales promediados. El SFR vertical promedio cae más rápidamente que el SFR horizontal promedio. Por lo tanto, el borde vertical promedio es menos nítido que el borde horizontal promedio.
plotSFR(aggregateSharpnessTable)
Mida la aberración cromática en todos los ROI de borde eslanado.
chTable = measureChromaticAberration(chart);
Trazar el perfil de intensidad normalizada de los tres canales de color en el primer ROI. Almacene el perfil de borde normalizado en una variable independiente, , para mayor claridad.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))])
Los canales de color tienen perfiles de intensidad normalizados similares, y no hay mucho borde de color visible a lo largo del borde.
Mida el ruido utilizando los 20 ROI de parche gris.
noiseTable = measureNoise(chart);
Trazar la señal sin procesar promedio y la relación señal-ruido (SNR) en cada ROI en escala de grises.
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
Calcule la iluminación de la escena utilizando los 20 ROI de parche gris. El iluminador tiene un componente azul más fuerte un componente rojo más débil, que es consistente con el tinte azul de la imagen del gráfico de prueba.
illum = measureIlluminant(chart)
illum = 1×3
110.9147 116.0008 123.2339
Mida la precisión del color con los 16 ROI de parches de color.
[colorTable,ccm] = measureColor(chart);
Muestre el color medio medido y el color esperado de los IUU. Mostrar la medición de precisión de color, .Delta_E
Cuanto más cerca esté el valor de 1, menos perceptible es la diferencia de color.Delta_E
Los valores típicos oscilan entre 3 y 6 para la impresión y hasta 20 en otras aplicaciones comerciales.Delta_E
figure displayColorPatch(colorTable)
Trazar los colores medidos y de referencia en el espacio de color CIE 1976 L*a*b* en un diagrama de cromaticidad. Los círculos rojos indican el color de referencia. Los círculos verdes indican el color medido de cada parche de color.
figure plotChromaticity(colorTable)
Puede utilizar la matriz de corrección de color, , para corregir el color de las imágenes del gráfico de prueba.ccm
Para obtener un ejemplo, consulte .Corregir colores usando la matriz de corrección de color
displayChart
| esfrChart
| measureChromaticAberration
| measureColor
| measureIlluminant
| measureNoise
| measureSharpness