Los valores L1C de Sentinel2 describen la reflectancia del TOA capturada en 12 bits que van de 0 a 1 multiplicados por una constante fija que actualmente es 10000.
Así que no tienes valores de 0 a 65.535, sino de 0 a 10.000. Los valores para el suelo incluso se mantienen dentro del rango de 0 a 4096 (tal vez excepto algunas partes brillantes de los glaciares).
QGIS aplica el estiramiento de los valores automáticamente basándose en el histograma o en la desviación estándar. Puede ver los valores desde las propiedades de la capa:
Así que tu imagen será demasiado oscura si reduces la escala con un valor máximo de 65535. Si quieres mantener los detalles en las áreas brillantes (por ejemplo, las nubes), debes escalar de 0 a 10000. Pero si quieres que el suelo sea lo suficientemente brillante, escala de 0 a 4096.
Sugerencia adicional: En lugar de utilizar gdal_merge, puede utilizar gdalbuildvrt para el primer paso, que será mucho más rápido.
gdalbuildvrt -separate -o output.vrt B04.jp2 B03.jp2 B02.jp2
gdal_translate -ot Byte -scale 0 4096 0 255 -b 1 -b 2 -b 3 output.vrt output_8bit.tif
0 votos
Posible duplicado de gis.stackexchange.com/questions/48034/ . Si no es así, explique qué estilo pretende guardar: ¿RGB, paleta, pseudocolor?
0 votos
Sí, es muy similar a gis.stackexchange.com/questions/48034/ . Gracias por eso @AndreJ. Mi propósito general es crear imágenes RGB y pseudo-color de 8bits para servir a través de GeoServer de MapServer. También probé con gdal_translate primero para convertir las bandas en 8bits y después con gdal_merge para crear la imagen de 3 bandas pero me creó una imagen con mucho ruido en los píxeles que representaban el mar.
0 votos
Sería de gran ayuda si pudieras decir más sobre tus rásteres de entrada, tal vez dar un enlace a los datos de acceso público.
0 votos
Mis rastreos de entrada son datos de Sentinel2 (jp2). Y quiero crear imágenes de 3 bandas.tif , 8bit con GDAL. Así que al principio ejecuto: gdal_merge.py -separate -n 0 -a_nodata 0 -co "PHOTOMETRIC=rgb" -o output.tif band_4.jp2 band_3.jp2 band_2.jp2 que crea una imagen de 3 bandas de 16bit. Después ejecuto: gdal_translate -ot Byte -scale 0 65535 0 255 -b 1 -b 2 -b 3 output.tif output_8bit.tif pero el resultado es una imagen con 0 valores.Cuando ejecuto el comando anterior después de guardar como renderizado con QGIS el resultado es exactamente el que esperaba