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.

Mejore la separación del color utilizando la decoracion estiramiento

El estiramiento de la decoracion mejora la separación de color de una imagen con correlación significativa de banda a banda. Los colores exagerados mejoran la interpretación visual y facilitan la discriminación por características. Se aplica la decoracion de estiramiento con la función.decorrstretch Vea cómo agregar un estiramiento de contraste lineal opcional a la extensión de decoracion.Estiramiento de contraste lineal

El número de bandas de color, NBANDS, en la imagen suele ser tres. Pero puede aplicar la decoracion de estiramiento independientemente del número de bandas de color.

Los valores de color originales de la imagen se asignan a un nuevo conjunto de valores de color con un rango más amplio. Las intensidades de color de cada píxel se transforman en el color propio de la matriz de covarianza o correlación nbands-by-nbands, estirada para igualar las varianzas de la banda, luego transformada de nuevo a las bandas de color originales.

Para definir las estadísticas de banda, puede utilizar toda la imagen original o, con la opción, cualquier subconjunto seleccionado de la misma.subset

Simple decoracion estiramiento

Este ejemplo muestra cómo realizar la decoracion estirando a tres bandas de color de una imagen. Un diagrama de dispersión de la banda de color de las imágenes muestra cómo las bandas se decoran y ecualizan.

Realizar la decoracion Stretch

Leer una imagen de la biblioteca de imágenes disponibles en la carpeta.imdata Este ejemplo utiliza una imagen LANDSAT del río Little Colorado. La imagen tiene siete bandas, pero acaba de leer en los tres colores visibles.

A = multibandread('littlecoriver.lan', [512, 512, 7], ...   'uint8=>uint8', 128, 'bil', 'ieee-le', ...   {'Band','Direct',[3 2 1]});

Realice el estiramiento de la decoracion.

B = decorrstretch(A);

Visualice la imagen original y la imagen procesada. Compare las dos imágenes. El original tiene un fuerte tinte violeta (rojo-azulado), mientras que la imagen transformada tiene un rango de color algo expandido.

imshow(A) title('Little Colorado River Image')

imshow(B) title('Little Colorado River Image After Decorrelation Stretch')

Cree una gráfica de dispersión de banda de color

Primero separe los tres canales de color de la imagen original.

[rA,gA,bA] = imsplit(A);

Separe los tres canales de color de la imagen después del estiramiento de la decoracion.

[rB,gB,bB] = imsplit(B);

Mostrar la gráfica de dispersión de color de la imagen original. A continuación, muestre la gráfica de dispersión de color de la imagen después de estirar la decoracion.

figure plot3(rA(:),gA(:),bA(:),'.') grid on xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') title('Color Scatterplot Before Decorrelation Stretch')

figure plot3(rB(:),gB(:),bB(:),'.') grid on xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') title('Color Scatterplot After Decorrelation Stretch')

Estiramiento de contraste lineal

La adición de estiramiento de contraste lineal mejora la imagen resultante ampliando aún más la gama de colores. En el ejemplo siguiente se utiliza la opción para saturar fracciones iguales de la imagen a intensidades altas y bajas.Tol Sin la opción, no aplica ninguna extensión de contraste lineal.Toldecorrstretch

Consulte la página de referencia de funciones para obtener más información sobre el cálculo de límites de saturación.stretchlim

Nota

Puede aplicar una extensión de contraste lineal como una operación independiente después de realizar una extensión de decoracion, usando y.stretchlimimadjust Esta alternativa, sin embargo, a menudo da resultados inferiores para e imágenes, porque los valores de píxel deben ser sujetados a [0 255] (o [0 65535]).uint8uint16 La opción de eludir esta limitación.Toldecorrstretch

Stretch de decorrelation con estiramiento de contraste lineal

Lea los tres canales de color visibles de la imagen LANDSAT del río Little Colorado.

A = multibandread('littlecoriver.lan', [512, 512, 7], ...   'uint8=>uint8', 128, 'bil', 'ieee-le', ...   {'Band','Direct',[3 2 1]});

Aplique el estiramiento de la decoracion, especificando el estiramiento del contraste lineal. Al establecer el valor en 0,01, se asigna el rango de color transformado dentro de cada banda a un intervalo normalizado entre 0,01 y 0,99, saturando el 2%.'Tol'

C = decorrstretch(A,'Tol',0.01); imshow(C) title(['Little Colorado River After Decorrelation Stretch and ',...   'Linear Contrast Stretch'])