Eu preciso normalizar os valores atingidos de uma taxa de banda para 0-255. Estou usando o QGIS. Como eu faço isso? Alguma ideia?
Eu preciso normalizar os valores atingidos de uma taxa de banda para 0-255. Estou usando o QGIS. Como eu faço isso? Alguma ideia?
Respostas:
Você pode usar o utilitário gdal_translate. Use a opção -scale [src_min src_max [dst_min dst_max]] com src_min e src_max como valores mín / máx atuais de seus dados e 0,255 como dst_min, dst_max. Sem os colchetes.
Se você instalou o pacote QGIS com OSGeo4W, pode ter o programa de terminal chamado 'MSYS'. Abra isso e use o comando gdal_translate. Caso contrário, no QGIS, escolha Raster -> Conversion -> Translate. Escolha seus arquivos e opções. Na parte inferior da janela, o comando gdal_translate completo será exibido. Clique em editar e adicione a opção -scale.
A seguir, os dados serão expandidos para 8 bits (0-255).
smin=0; smax=255
( x - min(x) ) * (smax - smin) / ( max(x) - min(x) ) + smin
Deve ser bastante fácil traduzir isso para a sintaxe da álgebra raster no seu software de escolha. Você só precisa saber quais são os valores mínimo e máximo na sua varredura. Se a varredura é o resultado de uma taxa de banda, é seguro assumir -1 para 1 e a sintaxe deve se parecer com isso.
NewRaster = ( OldRaster - -1 ) * 255 / ( 1 - -1 ) + 0
smax
termo realmente deve ser smax - smin
- no exemplo (0-255) não importa, mas o faz, onde smin
= 0!