Корректное преобразование мультиспектральных растров в RGB с настроенной гистограммой: различия между версиями
Taimyr (обсуждение | вклад) мНет описания правки |
Bishop (обсуждение | вклад) (Внес исправления) |
||
Строка 1: | Строка 1: | ||
{{Статья|Черновик}} | {{Статья|Черновик}} | ||
== | == Введение == | ||
В данной статье описывается способ сохранения изображения (растра) с настроенным отображением (с подстроенной гистограммой) в новый файл с использованием ГИС ArcGIS. В большинстве случаев растровое изображение при открытии в ГИС необходимо подстроить для решения необходимых задач. Под подстройкой понимается процесс преобразования входных значений пикселов к виду отображения на экране компьютера. Наиболее часто используются следующие методы: изменение яркости, контраста, растяжка гистограммы, стандартное (среднеквадратичное) отклонение, ручное изменение функции преобразования и др. ГИС ArcGIS по-умолчанию применяет к изображдению (в случае если посчитана статистика) метод стандартного отклонения (Std. deviation) с коэффициентом 2. | |||
[[Файл:003.jpg |center|Свойства растрового слоя в ArcGIS]] | |||
== Постановка задачи == | |||
Если | Если открывать растровое изображение в графическом редакторе (просмотровщике, viewer), то отображение в нем будет отличаться от ГИС ArcGIS, так как не происходит преобразование пикселов - каналы RGB формируются из исходных каналов снимка. | ||
<center> | |||
<gallery caption="Спутниковый снимок ETM+ (устье р. Анабар, Якутия, каналы 5-4-3)" widths="300px" heights="300px"> | |||
Файл:00.jpg|без преобразований пикселов | |||
Файл:001.jpg|с преобразованием пикселов методом стандартного отклонения | |||
</gallery> | |||
</center> | |||
При подготовке изображений спутниковой съемки для публикации в WEB возникла задача сохранения снимка в формате обычного RGB-растра. Такая же задача возникает часто и для подготовки снимков для просмотра вне ГИС-программ, но публикация в WEB имеет определенную специфику - необходимо корректное сохранение значений NoData, чтобы они, соответственно, могли быть сделаны невидимыми. Рассмотрим решение задачи сохранения снимка в формате обычного RGB-растра с использованием ГИС ArcGIS. | |||
В ArcGIS имеется специальный инструмент для сохранения растра, загруженного в проект в виде отображаемого RGB - щёлкнув правой кнопкой на нужном растровом слое в TOC, и выбираем "Экспорт данных". В открывшемся диалоговом окне выбираем "Использовать метод отображения" "RGB" | |||
== Экспорт мультиспектральных растров в RGB == | |||
В ArcGIS имеется специальный инструмент для сохранения растра, загруженного в проект в виде отображаемого RGB - щёлкнув правой кнопкой на нужном растровом слое в TOC, и выбираем "Экспорт данных". В открывшемся диалоговом окне выбираем "Использовать метод отображения" "RGB". При этом в выходной файл изображения будет сохранены пикселы с подстройкой. | |||
[[Файл:002.jpg|center]] | [[Файл:002.jpg|center]] | ||
Однако, как выяснилось, не все так просто как кажется - ряд | Однако, как выяснилось, не все так просто как кажется - ряд '''ненулевых''' значений экспортируемого растра после такого экспорта "сваливается" в NoData, так что просмотр такого растра с отключенными значениями NoData по крайней мере не эстетичен - водоемы уходят в "провал". | ||
<center> | |||
<gallery widths="300px" heights="300px"> | |||
Файл:004.jpg|исходное RGB изображение | |||
Файл:005.jpg|результат сохранения в файл с выставленным значением NoData равным 0 (в озерах проявляется белый фон) | |||
</gallery> | |||
</center> | |||
При помощи инструмента "Инспектор пикселов", имеющегося в ArcGIS, удалось установить причину явления и устранить ее. | |||
Выводим на панель инструментов инструмент "Инспектор пикселов" - "Панели инструментов-Настройка-Команды-Растр" - вытягиваем обе кнопки на любую панель инструментов. | Выводим на панель инструментов инструмент "Инспектор пикселов" - "Панели инструментов-Настройка-Команды-Растр" - вытягиваем обе кнопки на любую панель инструментов. | ||
[[Файл:008.jpg|center]] | [[Файл:008.jpg|center]] | ||
При использовании инструмента слева от TOC появится таблица со значениями каналов растра, а сам курсор примет вид "палетки". Идем в район, где у нас "провалились" значения и смотрим, переключаясь между вкладками истинные и отображаемые в RGB с учетом растяжки значения видимых на экране каналов растра, и видим, что при использовании метода стандартного отклонения, наиболее низкие значения каналов "срезались" в 0. А отключение фона в ArcGIS происходит не по отображаемым, а по исходным значениям каналов растра, поэтому мы и не видим этих провалов в отображении. | |||
[[Файл:009.jpg|center]] | [[Файл:009.jpg|center]]<br /> | ||
< | <center> | ||
<gallery widths="400px" heights="200px"> | |||
Файл:006.jpg|истинные значения пикселов | |||
Файл:007.jpg|отображаемые (подстроенные) значения пикселов | |||
</gallery> | |||
</center> | |||
Как выяснилось, избежать этого очень просто. Идем в свойства изображения - символы - гистограма, при этом растяжка по среднеквадратичному отклонению включена, и видим, что часть значений (и значительная!) оказалась срезанной. Просто сдвигаем этот узел гистограммы влево до 0. Подтверждаем изменения и "Инспектором пикселов" смотрим значения RGB. Цветовая картина на мониторе изменится крайне незначительно для целей просто визуальной публикации. | |||
[[Файл:010.jpg|center]]<br /> | [[Файл:010.jpg|center]]<br /> | ||
Строка 44: | Строка 54: | ||
[[Файл:012.jpg|center]] | [[Файл:012.jpg|center]] | ||
Как видно из таблицы RGB-пикселов, теперь в районе "провала" полностью нулевых значений нет ни в одном пикселе. | |||
Теперь экспорт произойдет корректно, и значения | Теперь экспорт произойдет корректно, и значения NoData (0,0,0) в выходном растре будут только там, где действительно нет данных. | ||
== Отображение в QGIS == | |||
Необходимо отметить, что, например, ГИС QGIS значением NoData считает наличие значения "0" в '''любом''' канале растра. Если просто выставить значение "Нет данных", как ноль - станут прозрачны пикселы, '''в которых есть ноль хотя бы в одном канале''', а потому, в этом поле настройки прозрачности изображения, надо оставить изначальное значение, а нули выставлять в значения всех трех каналов. Таким образом, отображение будет корректным. | |||
[[Файл:013.jpg|center]] | [[Файл:013.jpg|center]] | ||
Автор благодарит Д.Барышникова (Bishop) за указание правильного направления решения проблемы. |
Версия от 23:26, 2 марта 2012
Введение
В данной статье описывается способ сохранения изображения (растра) с настроенным отображением (с подстроенной гистограммой) в новый файл с использованием ГИС ArcGIS. В большинстве случаев растровое изображение при открытии в ГИС необходимо подстроить для решения необходимых задач. Под подстройкой понимается процесс преобразования входных значений пикселов к виду отображения на экране компьютера. Наиболее часто используются следующие методы: изменение яркости, контраста, растяжка гистограммы, стандартное (среднеквадратичное) отклонение, ручное изменение функции преобразования и др. ГИС ArcGIS по-умолчанию применяет к изображдению (в случае если посчитана статистика) метод стандартного отклонения (Std. deviation) с коэффициентом 2.
Постановка задачи
Если открывать растровое изображение в графическом редакторе (просмотровщике, viewer), то отображение в нем будет отличаться от ГИС ArcGIS, так как не происходит преобразование пикселов - каналы RGB формируются из исходных каналов снимка.
При подготовке изображений спутниковой съемки для публикации в WEB возникла задача сохранения снимка в формате обычного RGB-растра. Такая же задача возникает часто и для подготовки снимков для просмотра вне ГИС-программ, но публикация в WEB имеет определенную специфику - необходимо корректное сохранение значений NoData, чтобы они, соответственно, могли быть сделаны невидимыми. Рассмотрим решение задачи сохранения снимка в формате обычного RGB-растра с использованием ГИС ArcGIS.
Экспорт мультиспектральных растров в RGB
В ArcGIS имеется специальный инструмент для сохранения растра, загруженного в проект в виде отображаемого RGB - щёлкнув правой кнопкой на нужном растровом слое в TOC, и выбираем "Экспорт данных". В открывшемся диалоговом окне выбираем "Использовать метод отображения" "RGB". При этом в выходной файл изображения будет сохранены пикселы с подстройкой.
Однако, как выяснилось, не все так просто как кажется - ряд ненулевых значений экспортируемого растра после такого экспорта "сваливается" в NoData, так что просмотр такого растра с отключенными значениями NoData по крайней мере не эстетичен - водоемы уходят в "провал".
При помощи инструмента "Инспектор пикселов", имеющегося в ArcGIS, удалось установить причину явления и устранить ее. Выводим на панель инструментов инструмент "Инспектор пикселов" - "Панели инструментов-Настройка-Команды-Растр" - вытягиваем обе кнопки на любую панель инструментов.
При использовании инструмента слева от TOC появится таблица со значениями каналов растра, а сам курсор примет вид "палетки". Идем в район, где у нас "провалились" значения и смотрим, переключаясь между вкладками истинные и отображаемые в RGB с учетом растяжки значения видимых на экране каналов растра, и видим, что при использовании метода стандартного отклонения, наиболее низкие значения каналов "срезались" в 0. А отключение фона в ArcGIS происходит не по отображаемым, а по исходным значениям каналов растра, поэтому мы и не видим этих провалов в отображении.
Как выяснилось, избежать этого очень просто. Идем в свойства изображения - символы - гистограма, при этом растяжка по среднеквадратичному отклонению включена, и видим, что часть значений (и значительная!) оказалась срезанной. Просто сдвигаем этот узел гистограммы влево до 0. Подтверждаем изменения и "Инспектором пикселов" смотрим значения RGB. Цветовая картина на мониторе изменится крайне незначительно для целей просто визуальной публикации.
Как видно из таблицы RGB-пикселов, теперь в районе "провала" полностью нулевых значений нет ни в одном пикселе. Теперь экспорт произойдет корректно, и значения NoData (0,0,0) в выходном растре будут только там, где действительно нет данных.
Отображение в QGIS
Необходимо отметить, что, например, ГИС QGIS значением NoData считает наличие значения "0" в любом канале растра. Если просто выставить значение "Нет данных", как ноль - станут прозрачны пикселы, в которых есть ноль хотя бы в одном канале, а потому, в этом поле настройки прозрачности изображения, надо оставить изначальное значение, а нули выставлять в значения всех трех каналов. Таким образом, отображение будет корректным.
Автор благодарит Д.Барышникова (Bishop) за указание правильного направления решения проблемы.