У меня есть 3 отдельных 1-полосных файла GeoTIFF. Интерпретация цвета для полосы - серый. Я хочу 3-полосный файл RGB. Я использовал gdal_merge.py
gdal_merge.py -separate file1.tif file2.tif file3.tif -o output_file.tif
Но цветовая интерпретация для 3-х полос результирующего output_file.tif - серый, неопределенный, неопределенный. Кроме того, все пиксели равны 0 .
Если я выполню pct2rgb.py, я получу RGB-файл:
pct2rgb.py output_file.tif output_file_rgb.tif
Но, конечно же, пиксели тоже равны 0. Итак, у меня есть 3 вопроса:
- Является ли gdal_merge.py правильным инструментом для объединения трех 1-полосных файлов в один 3-полосный RGB-файл?
- Почему я получаю неопределенную интерпретацию цвета для групп?
- Является ли pct2rgb правильным инструментом для преобразования 3-полосных файлов с такой цветовой интерпретацией в файлы RGB?
ОБНОВЛЕНИЕ : у растров нет таблицы цветов. Просто цветовая интерпретация: серый.
С другой стороны, значения пикселей изменяются от 0 до 1023 (это намеренно)
Больше данных: они повернутые растры (не на север), но все они имеют одинаковое геотрансформирование.
ОБНОВЛЕНИЕ 2 : я могу деформировать изображения, чтобы сделать их севернее, построить VRT и добавить ColorInterp для каждой полосы, но я все еще получаю интерпретацию цвета как серый, неопределенный, неопределенный в выходном результате.
Проблема в том, что мне нужно создать таблицу цветов, по крайней мере, в первой полосе. Я знаю способ их создания , но я не знаю, сколько записей должно быть в моей таблице. Почему в примере GDAL Raster FAQ есть 13 записей? Все пиксели имеют значения от 0 до 1023, если это помогает.
ОБНОВЛЕНИЕ 3 : По-видимому, в формате TIFF нет способа по-настоящему определить цветовую интерпретацию каждой полосы. Способ, которым GDAL создает интерпретацию цвета при чтении файла TIFF, представляет собой сочетание значения тега PHOTOMETRIC и EXTRASAMPLES .
Читая об этих тегах:
PHOTOMETRIC представляет цветовое пространство данных изображения. Значение 2 означает, что компоненты значения пикселя являются RGB, но оно предполагает использование байтовых пикселей, а у меня UInt16 пикселей (я пробовал
-co "PHOTOMETRIC=rgb"
и получил ошибку). Поэтому я не могу указать тег PHOTOMETRIC для выходного файла.EXTRASAMPLES указывает, что каждый пиксель имеет N дополнительных компонентов. Я не уверен, как использовать этот тег для создания моего объединенного файла. Или если мне это нужно.
Итак, в обновлении 2 я предлагаю создание ColorTable, но как? В моих 3 входных файлах значения пикселей изменяются от 0 до 1023. Нужно ли сопоставлять их с цветами? Нужно ли создавать ColorTable с 1024 входами? Как?
В обновлении 3 кажется, что я мог бы использовать некоторые теги GeoTIFF при создании объединенного файла, но я не уверен, действительно ли я могу их использовать или как.