No início da sua pergunta, você pergunta sobre ir de 32 bits para 8 bits e, no final, pergunta sobre o caminho inverso, portanto, essa será uma resposta genérica.
A maioria das funções GDAL permite especificar a profundidade do pixel com a tag da linha de comando -ot
(por exemplo, consulte a documentação em gdal_translate ou gdal_rasterize ). A opção -ot pode assumir os valores Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64.
No QGIS, se você deseja forçar a saída de uma função GDAL para fornecer uma profundidade de pixel específica em vez de um padrão, edite a linha de comando para incluir a opção -ot com a profundidade de pixel desejada. Por exemplo, vá em Raster-> Conversão-> Traduzir. Na parte inferior da caixa de diálogo (pelo menos na versão 1.9), você verá o comando de linha de comando gerado para você. Clique no botão ao lado dele com um pequeno ícone de lápis para permitir que você edite a linha de comando e adicione sua opção -ot.
Exemplo usando gdal_translate no QGIS, convertendo do ponto flutuante de 32 bits para um inteiro sem sinal de 16 bits:
-ot
opção não escala os valores na transformação. Para fazer isso, o uso-scale
ou-scale_1
,-scale_2
... por banda.