Necesito normalizar los valores obtenidos de una relación de banda a 0-255. Estoy usando QGIS. ¿Cómo hago esto? ¿Algunas ideas?
Necesito normalizar los valores obtenidos de una relación de banda a 0-255. Estoy usando QGIS. ¿Cómo hago esto? ¿Algunas ideas?
Respuestas:
Puede usar la utilidad gdal_translate. Utilice la opción -scale [src_min src_max [dst_min dst_max]] con src_min y src_max como valores min / max actuales de sus datos y 0,255 como dst_min, dst_max. Sin los corchetes.
Si ha instalado QGIS con el paquete OSGeo4W, puede tener el programa de terminal llamado 'MSYS'. Abra eso y simplemente use el comando gdal_translate. Si no, desde QGIS elija Ráster -> Conversión -> Traducir. Elige tus archivos y opciones. En la parte inferior de la ventana se mostrará el comando completo gdal_translate. Haga clic en editar y agregue la opción de escala.
Lo siguiente extenderá sus datos a 8 bits (0-255).
smin=0; smax=255
( x - min(x) ) * (smax - smin) / ( max(x) - min(x) ) + smin
Debería ser bastante fácil traducir esto a la sintaxis de álgebra ráster en el software que elija. Solo necesitará saber cuáles son los valores mínimo y máximo en su ráster. Si el ráster es el resultado de una relación de banda, entonces es seguro asumir -1 a 1 y la sintaxis debería verse así.
NewRaster = ( OldRaster - -1 ) * 255 / ( 1 - -1 ) + 0
smax
término realmente debería ser smax - smin
: en el ejemplo (0-255) no importa, ¡pero sí dónde smin
! = 0