Cada vez que trato de agudizar los compuestos de algunas imágenes Landsat en GRASS utilizando i.pansharpen
, i.fusion.brovey
o el método de nitidez IHS, la salida tendrá algunas o todas las siguientes características:
- el color compuesto tiene un tono diferente en comparación con el compuesto no afilado
- el nivel de brillo está en mal estado
- todo el compuesto se volvió todo blanco / todo negro (al usar imágenes preprocesadas para la reflectancia de la parte superior de la atmósfera o las correcciones de reflectancia de la superficie
i.landsat.toar
)
También he intentado todo lo siguiente; pero los colores / brillo se mantuvieron igual o empeoraron aún más:
- Aplicado
i.landsat.rgb
, antes y después del proceso de afilado - Jugó con la bandera
-f
o-p
eni.landsat.rgb
- Intenté
r.colors
editar la tabla de colores a grey / grey255 / grey.eq - Intentado
i.pansharpen
utilizar todos los métodos Brovey / IHS / PCA - Jugó con la
-l
banderai.pansharpen
para reequilibrar el canal azul
El manual de GRASS GIS sí explicó cómo realizar la nitidez panorámica y el equilibrio de color, pero no puedo entender cómo combinar ambos procesos en un flujo de trabajo concurrente. Sospeché que esto se debe a mi escasa comprensión de las tablas de colores, el histograma de colores, etc. en GRASS.
Entonces, ¿alguien puede explicarme cómo se abordan los problemas de equilibrio de color cuando se trata de imágenes Landsat después del procesamiento de imágenes en GRASS? ¿Puedes compartir conmigo tu flujo de trabajo / métodos favoritos?
Muchas gracias por cualquier comentario!
i.pansharpen
manejar todo tipo de formatos. Eche un vistazo a un "ticket" relacionado: Ticket # 2048: i.pansharpen limitado a imágenes de 8 bits . Por otro lado, es posible que simplemente no entienda las cosas y, por lo tanto, no pueda usar i.pansharpen correctamente ...?He buscado por todas partes, y creo que he descubierto la raíz de mis problemas. Creo que ahora tengo la solución para ellos, pero es un poco complicado. Estoy seguro de que hay mejores formas de resolverlos. ¡Comparte si conoces una manera más fácil!
RAÍCES DE PROBLEMAS:
i.landsat.toar
está en coma flotante . Me he dado cuenta de que cuando uso rásteres de punto flotante en cualquier método de nitidez panorámica, los colores se desordenarán. Esos algoritmos de alguna manera preferían los rásteres en la forma entera original.i.pansharpen
y losi.fusion.brovey
módulos estropearán los colores . No he entendido bien los algoritmos que usaron en esos módulos, pero de alguna manera las tablas de colores se verán afectadas y arruinarán las imágenes resultantes de nitidez panorámica.SOLUCIÓN:
i.landsat.toar
float a int, usandor.recode
.i.rgb.his
yi.his.rgb
). Me mantengo alejado de usari.pansharpen
yi.fusion.brovey
.EL FLUJO DE TRABAJO
Use
r.info
con la-r
bandera para obtener los valores mínimos y máximos de DN de cada banda de trama que se haya procesado coni.landsat.toar
. Por ejemplo:Como podemos ver, los valores están entre 0-1, que son bastante diferentes a los originales (que están entre 0-255). Eso explica por qué la salida de la nitidez panorámica quedó en blanco, porque el rango de valor utilizado es muy bajo (por debajo de 1).
Convierta esa banda de trama usando
r.recode
. Use los valores mínimo y máximo obtenidos del paso 1 para convertir a un nuevo rango de 0-255. Un fragmento de código de ejemplo:Podemos verificar los nuevos valores convertidos con
r.info
:Los valores están en 0-255: ahora es utilizable para el proceso de agudización panorámica.
Aplique la tabla de colores en escala de grises a la banda convertida con
r.colors
.Hasta ahora, obtengo los mejores resultados con la tabla de colores grises: los materiales compuestos con nitidez combinada con los materiales originales. Las otras alternativas son igualar la tabla de color gris con
color=grey.eq
o usar la-e
bandera concolor=grey
. O podemos usar eli.landsat.rgb
módulo en lugar der.colors
...Repita los pasos 1-3 con otras bandas de trama que pretendemos utilizar como compuestos, incluida la trama panorámica (banda 8). El uso de guiones sería muy apreciado aquí.
Luego use los rásteres procesados como entradas en el método de nitidez panorámica de IHS . Por ejemplo, al hacer el compuesto de la banda 7,4,2:
Esto generará 3 capas: una capa de tono
HUE
, una capa de intensidadINT
y también una capa de saturaciónSAT
. Luego, reemplazaremos la capa de intensidadINT
con la banda de ráster panorámicoNEWBAND8
eni.his.rgb
:Los canales rojos resultantes de COMP742_red , COMP742_green , COMP742_blue se pueden combinar usando
d.rgb
or.composite
..MUESTRA ANTES Y DESPUÉS:
Antes del afilado panorámico:
Después del afilado panorámico:
Tal vez sea difícil distinguir las diferencias de nitidez cuando se ve desde imágenes tan pequeñas. Pero lo importante es que el color de la imagen con nitidez panorámica coincide con el compuesto del original. ¡Misión cumplida!
OTRAS NOTAS:
r.recode
las bandas térmicas (banda 6) .i.landsat.toar
generar estas bandas térmicas en valores de temperatura Kelvin (nada que ver con los valores de DN). Mantenga lar.recode
rutina en las bandas multiespectrales y panorámicas normales (bandas 1-5,7,8).i.landsat.toar
, pero los compuestos resultantes se ven realmente mal , generalmente se debe a la falta de coincidencia de las tablas de colores antes y después del proceso de nitidez panorámica. Apliquér.colors RASTER color=grey
a las bandas ráster originales antes del enfoque panorámico, y a los canales resultantes después del enfoque panorámico para asegurar una coincidencia de colores.color=grey255
, la salida dei.landsat.rgb
está adentrocolor=grey.eq
. ¡No es de extrañar que ambos se vean diferentes!Espero que esto beneficie a alguien: me llevó días encontrar lo que está mal ...
fuente
r.mapcalc
junto con suint()
función integrada . Creo quer.recode
no está destinado a ser utilizado en el contexto de su aplicación.i.pansharpen
es que espera mapas ráster de 8 bits como entrada, es decir, los valores de entrada deben oscilar entre 0 y 255.i.pansharpen
en cuenta que solo está en grass7_trunk. Esa es la versión de desarrollo ... :-)