Esta página es para la versión anterior. La página correspondiente en inglés se eliminó en la versión actual.

Mejorar las imágenes compuestas de color multiespectral

En este ejemplo se muestran algunas técnicas básicas de composición y mejora de imágenes para su uso con datos multiespectrales. A menudo es necesario mejorar los datos de resplandor o reflectancia multiespectrales para crear una imagen adecuada para la interpretación visual. El ejemplo utiliza imágenes del mapeado temático Landsat que cubren parte de París, Francia. Siete bandas espectrales se almacenan en un archivo en el formato LAN ERDAS. Los conceptos abarcados incluyen:

  • Lectura de datos multiespectrales de archivos LAN ERDAS

  • Construcción de compuestos de color de diferentes combinaciones de bandas

  • Mejora de las imágenes con un estiramiento de contraste

  • Mejora de las imágenes con un estiramiento de descorrelación

  • Uso de scatterplots

Paso 1: Construir truecolor Composite a partir de una imagen multiespectral

El archivo LAN, paris.lan, contiene una imagen de 7 bandas 512-by-512 Landsat. Un encabezado de 128 bytes es seguido por los valores de píxel, los cuales son bandas interdejadas por línea (BIL) en orden de aumentar el número de banda. Se almacenan como enteros de 8 bits no firmados, en orden de bytes Little-Endian.

Lea las bandas 3, 2 y 1 del archivo LAN utilizando la función MATLAB ® multibandread. Estas bandas cubren la parte visible del espectro. Cuando se asignan a los planos rojo, verde y azul, respectivamente, de una imagen RGB, el resultado es un compuesto truecolor estándar. El argumento de entrada final a multibandread especifica qué bandas leer y en qué orden, para que pueda construir un compuesto RGB en un solo paso.

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

El compuesto truecolor tiene muy poco contraste y los colores son desbalanceados.

f1 = figure; imshow(truecolor); figure(f1); title('Truecolor Composite (Un-enhanced)') text(size(truecolor,2), size(truecolor,1) + 15,...   'Image courtesy of Space Imaging, LLC',...   'FontSize', 7, 'HorizontalAlignment', 'right')

Paso 2: Utilizar histogramas para explorar un compuesto truecolor mejorado

Viendo un histograma de la banda roja, por ejemplo, se puede ver que los datos se concentran dentro de una pequeña parte del rango dinámico disponible. Esta es una de las razones por las que el compuesto truecolor parece opaco.

f2 = figure; imhist(truecolor(:,:,1)) figure(f2); title('Histogram of the Red Band (Band 3)')

Paso 3: Utilice la correlación para explorar un compuesto truecolor mejorado

Otra razón de la apariencia aburrida de la composición es que las bandas visibles están muy correlacionadas entre sí. Los scatterplots de dos y tres bandas son una excelente manera de medir el grado de correlación entre las bandas espectrales. Usted puede hacerlos fácilmente simplemente usando plot.

r = truecolor(:,:,1); g = truecolor(:,:,2); b = truecolor(:,:,3); f3 = figure; plot3(r(:),g(:),b(:),'.') grid('on') xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') figure(f3); title('Scatterplot of the Visible Bands')

La tendencia linear pronunciada del diagrama rojo-verde-azul indica que las vendas visibles están correlacionadas altamente. Esto ayuda a explicar el aspecto monocromático del compuesto truecolor sin realce.

Paso 4: Mejorar el composite truecolor con un estiramiento de contraste

Cuando se utiliza imadjust para aplicar un estiramiento de contraste lineal a la imagen compuesta truecolor, las características de superficie son más fáciles de reconocer.

stretched_truecolor = imadjust(truecolor,stretchlim(truecolor)); f4 = figure; imshow(stretched_truecolor) figure(f4); title('Truecolor Composite after Contrast Stretch')

Paso 5: Comprobar el histograma después del estiramiento de contraste

Un histograma de la banda roja después de aplicar un estiramiento de contraste muestra que los datos se han extendido sobre mucho más del rango dinámico disponible.

f5 = figure; imhist(stretched_truecolor(:,:,1)) figure(f5); title('Histogram of Red Band (Band 3) after Contrast Stretch')

Paso 6: Mejore el compuesto truecolor con un estiramiento de la descorrelación

Otra manera de realzar el compuesto truecolor es utilizar un estiramiento de la descorrelación, que realza la separación del color a través de canales altamente correlacionados. Utilice decorrstretch para realizar el estiramiento de descorrelación (seguido de un estiramiento de contraste lineal, como se especifica en el par de parámetros-valor opcional 'Tol' y 0.1).

decorrstretched_truecolor = decorrstretch(truecolor, 'Tol', 0.01); f6 = figure; imshow(decorrstretched_truecolor) figure(f6); title('Truecolor Composite after Decorrelation Stretch')

Una vez más, las características de la superficie se han vuelto mucho más claramente visibles, pero de una manera diferente. Las diferencias espectrales a lo largo de la escena han sido exageradas. Un ejemplo notorio es el área del verde en el borde izquierdo, que aparece negro en el compuesto contraste-estirado. Esta zona verde es el Bois de Boulogne, un gran parque en el borde occidental de París.

Paso 7: Comprobar correlación después del estiramiento de la descorrelación

Como se esperaba, un diagrama que sigue el estiramiento de la descorrelación demuestra una disminución fuerte de la correlación.

r = decorrstretched_truecolor(:,:,1); g = decorrstretched_truecolor(:,:,2); b = decorrstretched_truecolor(:,:,3); f7 = figure; plot3(r(:),g(:),b(:),'.') grid('on') xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') figure(f7); title('Scatterplot of the Visible Bands after Decorrelation Stretch')

Paso 8: Construya y mejore un compuesto del CIR

Al igual que con las bandas visibles, la información de las bandas Landsat que cubren partes no visibles del espectro se puede ver construyendo y mejorando las imágenes de composite RGB. La banda infrarroja cercana (NIR) (banda 4) es importante debido a la alta reflectancia de la clorofila en esta parte del espectro. Es aún más útil cuando se combina con visible rojo y verde (bandas 3 y 2, respectivamente) para formar una imagen de color infrarrojo (CIR) compuesto. Los compuestos del color infrarrojo (CIR) se utilizan comúnmente para identificar la vegetación o para evaluar su estado de crecimiento y/o salud.

Construya un compuesto del CIR leyendo del archivo original de la LAN y componiendo una imagen del RGB que traz las vendas 4, 3, y 2 a rojo, verde, y azul, respectivamente.

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

A pesar de que el infrarrojo cercano (NIR) banda (banda 4) está menos correlacionado con las bandas visibles que las bandas visibles son el uno con el otro, un estiramiento de descorrelación hace que muchas de las características más fácil de ver.

stretched_CIR = decorrstretch(CIR, 'Tol', 0.01); f8 = figure; imshow(stretched_CIR) figure(f8); title('CIR after Decorrelation Stretch')

Una característica de los compuestos infrarrojos del color es que miran rojo en las áreas con una alta densidad de la vegetación (clorofila). Tenga en cuenta que el Bois de Boulogne Park es de color rojo en el CIR composite, que es consistente con su aspecto verde en el compuesto truecolor descorrelación-estirado.

Vea también decorrstretch, imhist, imadjust, multibandread, stretchlim.