Tengo 3 archivos GeoTIFF de 1 banda separados. La interpretación del color para la banda es gris. Quiero un archivo RGB de 3 bandas. He usado gdal_merge.py
gdal_merge.py -separate file1.tif file2.tif file3.tif -o output_file.tif
Pero la interpretación del color para las 3 bandas del archivo resultante output_tif es gris, indefinido, indefinido. Aparte de eso, todos los píxeles son 0 .
Si ejecuto pct2rgb.py, obtengo un archivo RGB:
pct2rgb.py output_file.tif output_file_rgb.tif
Pero, por supuesto, los píxeles también son 0. Entonces, tengo 3 preguntas:
- ¿Es gdal_merge.py la herramienta adecuada para combinar 3 archivos de 1 banda en un archivo RGB de 3 bandas?
- ¿Por qué obtengo una interpretación de color indefinida para las bandas?
- ¿Es pct2rgb la herramienta adecuada para transformar archivos de 3 bandas con esta interpretación de color en archivos RGB?
ACTUALIZACIÓN : Los rásteres no tienen una tabla de colores. Solo interpretación del color: gris.
Por otro lado, los valores de píxeles van de 0 a 1023 (esto es deliberado)
Más datos: son rásteres rotados (sin norte hacia arriba), pero todos tienen la misma geotransformación.
ACTUALIZACIÓN 2 : puedo deformar las imágenes para hacerlas hacia el norte, construir un VRT y agregar ColorInterp para cada banda, pero aún obtengo la interpretación del color como gris, indefinido, indefinido en el resultado de salida.
El problema es que necesito crear una tabla de colores en, al menos, la primera banda. Sé cómo crearlos , pero no sé cuántas entradas debe tener mi tabla. ¿Por qué hay 13 entradas en el ejemplo de preguntas frecuentes de Raster de GDAL? Todos los píxeles tienen valores entre 0 y 1023, si ayuda.
ACTUALIZACIÓN 3 : Aparentemente, no hay forma en el formato TIFF de especificar realmente la interpretación del color de cada banda. La forma en que GDAL crea la interpretación del color al leer un archivo TIFF es una combinación del valor de la etiqueta PHOTOMETRIC y EXTRASAMPLES .
Lectura sobre estas etiquetas:
PHOTOMETRIC representa el espacio de color de los datos de la imagen. Un valor de 2 significa que los componentes de un valor de píxel son RGB, pero asume Byte píxeles, y tengo UInt16 píxeles (lo intenté
-co "PHOTOMETRIC=rgb"
y obtuve un error). Por lo tanto, no puedo especificar la etiqueta PHOTOMETRIC para el archivo de salida.EXTRASAMPLES especifica que cada píxel tiene N componentes adicionales. No estoy seguro de cómo usar esta etiqueta para crear mi archivo combinado. O si lo necesito.
Entonces, en la actualización 2 sugiero la creación de una ColorTable, pero ¿cómo? En mis 3 archivos de entrada, los valores de píxeles van de 0 a 1023. ¿Tengo que hacerlos coincidir con los colores? ¿Tengo que crear una ColorTable con 1024 entradas? ¿Cómo?
En la actualización 3, parece que podría usar algunas etiquetas GeoTIFF al crear el archivo combinado, pero no estoy seguro de si realmente puedo usarlas, o cómo.