Конвертировать 32-битное изображение в 8-битное изображение в QGIS

10

Я хочу конвертировать мои изображения из 32 бит в 8 бит. Я использую otb для вычисления текстуры, и растровый вывод на 8 битах, я собираюсь использовать эту информацию в качестве стека слоев для моего многоспектрального изображения на 32 битах!

Как конвертировать из 8 бит в 32 бита, если это возможно в QGIS?

user21484
источник

Ответы:

10

В начале вашего вопроса вы спрашиваете о переходе от 32-битного к 8-битному, а в конце вы спрашиваете о переходе в другую сторону, так что это будет общий ответ.

Большинство функций GDAL позволяют вам указать глубину пикселя с помощью тега командной строки -ot(например, см. Документацию по gdal_translate или gdal_rasterize ). Ключ -ot может принимать значения Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64.

В QGIS, если вы хотите, чтобы выходные данные из функции GDAL давали вам конкретную глубину пикселя, а не значение по умолчанию, отредактируйте командную строку, чтобы включить ключ -ot с любой глубиной пикселя, которую вы хотите. Например, зайдите Растр-> Конверсия-> Перевести. В нижней части диалогового окна (по крайней мере, в версии 1.9) вы увидите созданную для вас команду командной строки. Нажмите кнопку рядом с ней с небольшим значком карандаша, чтобы вы могли отредактировать командную строку и добавить ключ -ot.

Пример использования gdal_translate в QGIS, преобразование из 32-разрядного числа с плавающей запятой в 16-разрядное целое число без знака: введите описание изображения здесь

MappaGnosis
источник
3
Я бы добавил, что -otпереключатель не масштабирует значения при преобразовании. Чтобы сделать это, использование -scaleили -scale_1, -scale_2... для каждого диапазона.
Логан Байерс
Кстати, «глубина пикселя» - это термин, который ESRI создал из ниоткуда.
jpmc26
1
Пиксельная глубина на самом деле является термином, который широко используется в сочетании с файлами растровых изображений и далеко не исключает ESRI или даже ГИС.
MappaGnosis