Main Content

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.

Corregir colores usando la matriz de corrección de color

En este ejemplo se muestra cómo ajustar los colores de una imagen para que coincidan mejor con un conjunto estandarizado de colores en un gráfico de prueba de respuesta de frecuencia espacial de borde (eSFR) de ®.Imatest

Obtener matriz de corrección de color de la imagen del gráfico de prueba

Lea una imagen de un gráfico de prueba.

I = imread('eSFRTestImage.jpg'); 

Cree un objeto que almacene información sobre el gráfico de prueba.esfrChart Muestre el gráfico, resaltando los 16 parches de color. La imagen tiene un tinte azul.

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

Mida la precisión del color de los 16 parches de color utilizando la función.measureColor La función también devuelve la matriz de corrección de color que se utiliza para realizar la corrección de color.

[colorTable,ccm] = measureColor(chart);

Compare los colores medidos y de referencia en un diagrama de parches de color. Cuanto más cerca esté el valor de 1, menos perceptible es la diferencia de color.Delta_E

displayColorPatch(colorTable)

Color-Corregir la imagen del gráfico de prueba

Corrija el color de la imagen original del gráfico de prueba y muestre el resultado.

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

Cree un objeto que almacene información sobre el gráfico de prueba corregido por color.esfrChart Mida la precisión del color de los 16 parches de color corregidos por color.

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

Compare los colores corregidos y de referencia en un diagrama de parches de color. Los errores de color medidos, , son más pequeños para la imagen corregida por color que para la imagen original.delta_E Por lo tanto, los colores de esta imagen están mejor de acuerdo con los colores de referencia. Sin embargo, el gráfico ahora tiene un tinte amarillo general y el contraste de la imagen ha disminuido.

displayColorPatch(colorTable_cc)

Mejorar la corrección de color con parches grises

Puede mejorar la corrección de color incluyendo los parches grises, así como los parches de color en los cuadrados más mínimos que se ajustan. Muestre el gráfico original, resaltando los 20 parches grises y 16 parches de color.

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

Obtenga los valores L*a*b* de referencia de los parches de color y escala de grises, que se almacenan en las propiedades del objeto de gráfico eSFR.ReferenceColorLabReferenceGrayLab Convierta estos valores en el espacio de color RGB.

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

Mida el valor medio de gris en cada uno de los 20 parches grises utilizando la función.measureNoise

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

Concatene todos los valores de color RGB medidos de los parches de color y escala de grises.

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

Realice la corrección de color y muestre el resultado. El gráfico ya no tiene un tinte amarillo y el aspecto general del gráfico ha mejorado.

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

Compare los colores corregidos y de referencia en un diagrama de parches de color. Algunos de los errores de color medidos han disminuido, mientras que otros han aumentado.

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

Consulte también

| | |

Temas relacionados