Сложение снимков в ENVI

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 04:38

Как можно сложить 2 снимка на одну территорию: цветная композиция RGB (из одного файла шестиканального Landsat) + Панхроматичный (1 канал, из другого файла)?
Через функцию Band Math - не получается, т.к. он складывает, вычитает и пр. - только каналы одного снимка (одного файла).

Возможно, эти два файла получены из одного Landsat снимка, однако, поскольку они в двух разных файлах, не получается их так сложить. :(

В учебнике (по обработке снимков) есть раздел, в котором эта операция вроде бы описывается теоретически, однако как это делать в ENVI не понятно.
Последний раз редактировалось Natalia Novoselova 07 июл 2013, 04:27, всего редактировалось 2 раза.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение nadiopt » 06 июл 2013, 12:25

разрешение панхрома и цветного небось разные? он тогда вроде не грузит бэнды с разным разрешением в одно окно, может и на математике отражается
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 14:52

nadiopt писал(а):разрешение панхрома и цветного небось разные? он тогда вроде не грузит бэнды с разным разрешением в одно окно, может и на математике отражается
А есть способ, чтобы подгрузить каналы двух разных файлов в одно окно? (Что значит в одно окно - в один файл?)
Когда я пробовала делать это Band Math:назначаю B1+B2+B3+B4 в строке формул, то потом при операции присвоения этим параметрам - соотв. каналов в окне "Variable to band pairing" - я могу назначать или каналы одного снимка, или другого.

Может быть, я неправильно делаю эту операцию в Band Math?


Насчет разрешения, пока затрудняюсь ответить. А как его можно узнать из Envi?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение nadiopt » 06 июл 2013, 15:19

в окне авайлабл бэндс есть плюсики под каждым файлом. Там вроде пиксель сайз
вот придет Александр Черепанов, скажет умнее, а я делаю лэерстэк из нужных каналов
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 15:58

nadiopt писал(а):в окне авайлабл бэндс есть плюсики под каждым файлом. Там вроде пиксель сайз
вот придет Александр Черепанов, скажет умнее, а я делаю лэерстэк из нужных каналов
Вы делаете Envi Layer Stacking?
По описанию - это то, что я ищу. Но не могу разобраться как это делать по хелпу..
То, кстати, что я не понимаю, почему в Envi хелп к операциям написан частично в виде программного кода? :roll:

Вот, пример по Layer Stacking
Спойлер
Example
The following example is used to layer stack the Bighorn TM and DEM images. This example uses the following files found in the IDLxx\products\envixx\data directory of the ENVI installation (where xx is the software version number):
• bhtmref.img
• bhtmref.hdr
and the following files found in the bh_3d directory of the ENVI Resource DVD that shipped with your software:
• Bhdemsub.img
• bhdemsub.hdr
The example uses an inclusive range (encompassing all the files) with cubic convolution resampling. Each of the six TM bands and the single DEM band are output to a new layer-stacked image with the same projection as the TM data.
forward_function envi_get_projection

pro example_envi_layer_stacking_doit
;
; First restore all the base save files.
;
envi, /restore_base_save_files
;
; Initialize ENVI and send all errors
; and warnings to the file batch.txt
;
envi_batch_init, log_file='batch.txt'
;
; Open the first input file.
; We will also open the one band
; dem file to layer stack with
; this file.
;
envi_open_file, 'bhtmref.img', r_fid=t_fid
if (t_fid eq -1) then begin
envi_batch_exit
return
endif
;
; Open the second input file.
;
envi_open_file, 'bhdemsub.img', r_fid=d_fid
if (d_fid eq -1) then begin
envi_batch_exit
return
endif
;
; Use all the bands from both files
; and all spatial pixels. First build the
; array of FID, POS and DIMS for both
; files.

;
envi_file_query, t_fid, $
ns=t_ns, nl=t_nl, nb=t_nb
envi_file_query, d_fid, $
ns=d_ns, nl=d_nl, nb=d_nb
;
nb = t_nb + d_nb
fid = lonarr(nb)
pos = lonarr(nb)
dims = lonarr(5,nb)
;
for i=0L,t_nb-1 do begin
fid = t_fid
pos = i
dims[0,i] = [-1,0,t_ns-1,0,t_nl-1]
endfor
;
for i=t_nb,nb-1 do begin
fid = d_fid
pos = i-t_nb
dims[0,i] = [-1,0,d_ns-1,0,d_nl-1]
endfor
;
; Set the output projection and
; pixel size from the TM file. Save
; the result to disk and use floating
; point output data.
;
out_proj = envi_get_projection(fid=t_fid, $
pixel_size=out_ps)
out_name = 'testimg'
out_dt = 4
;
; Call the layer stacking routine. Do not
; set the exclusive keyword allow for an
; inclusive result. Use cubic convolution
; for the interpolation method.
;
envi_doit, 'envi_layer_stacking_doit', $
fid=fid, pos=pos, dims=dims, $
out_dt=out_dt, out_name=out_name, $
interp=2, out_ps=out_ps, $
out_proj=out_proj, r_fid=r_fid
;
; Exit ENVI
;
envi_batch_exit
end


Мне, видимо, с шага "Use all the bands from both files
; and all spatial pixels. First build the
; array of FID, POS and DIMS for both
; files.

Может быть вы подскажете, как мне попробовать сделать это со своими файлами?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение nadiopt » 06 июл 2013, 16:10

чето как-то мрачно все
из главного окна энви - бэйсик тулз - лэерстэкинг, вот и все
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 17:03

nadiopt писал(а):чето как-то мрачно все
из главного окна энви - бэйсик тулз - лэерстэкинг, вот и все
Спасибо, как делать теперь понимаю
Но один файл прошел, а по другому файлу (шестиканальный ландсат ETM) - выдан ответ, что "input file must be georeferenced"
Видимо, поэтому в Available band list он и не показывал Map Info.

Вы не знаете - как можно поднять эту информацию (видимо о проекции и пр) для данного файла, чтобы он стал "georeferenced" если ее почему то нет.
Может быть через Available band list - Edit Header - Edit Atributes .. там данные о проекции и разрешении можно внести, но где брать саму инфу?
(у меня нет полного скачанного исходника, всё что было в задании - эти 2 файла со снимками).
Можно тут что-то сделать..?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение nadiopt » 06 июл 2013, 17:09

дык взять инфу из панхрома, только пиксель сайз 30
ин гроссен фамилен нихт клювен клац клац

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: Сложение снимков в ENVI

Сообщение alexandr cherepanov » 06 июл 2013, 17:22

Как можно сложить 2 снимка на одну территорию: цветная композиция RGB (из одного файла шестиканального Landsat) + Панхроматичный (1 канал, из другого файла)?
У меня только один вопрос - зачем их вообще складывать? Конечная цель какая?

А так, чтобы работать через Band Math растры должны иметь одинаковый размер = количество строк/столбцов, в принципе это единственное условие. Совпадают растры или не совпадают по объектам программе без разницы. Получить одинаковый размер можно вырезанием по области/растру или собрать их в одном файле - Layer Stacking. Второй вариант проще и позволяет заодно привести данные к одной системе координат и одинаковому пространственному разрешению.
А после этого можете делать с каналами все что угодно, только не забудьте про ограничения на диапазон значений у различных типов данных. Если будете складывать/вычитать, то лучше сразу переводите свои значения из byte в integer.
вместо

Код: Выделить всё

B1+B2+B3+B4

Код: Выделить всё

fix(B1)+B2+B3+B4
как можно поднять эту информацию (видимо о проекции и пр) для данного файла, чтобы он стал "georeferenced" если ее почему то нет.
открываете EDIT HEADER и нажимаете ок для шестиканалки и панхрома. Закрываете оба файла, открываете через любой текстовый редактор оба header файлы. Переносите строчку map info и меняете разрешение. Сохраняете изменения и открываете снимки в ENVI.
Последний раз редактировалось alexandr cherepanov 06 июл 2013, 19:14, всего редактировалось 1 раз.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Сложение снимков в ENVI

Сообщение gamm » 06 июл 2013, 18:40

alexandr cherepanov писал(а):[У меня только один вопрос - зачем их вообще складывать? Конечная цель какая?
толстый троллинг ...

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 19:24

alexandr cherepanov писал(а):
Как можно сложить 2 снимка на одну территорию: цветная композиция RGB (из одного файла шестиканального Landsat) + Панхроматичный (1 канал, из другого файла)?
У меня только один вопрос - зачем их вообще складывать? Конечная цель какая?.

Возможно, я не совсем верно поняла задание, т.к. полученный результат - и в самом деле не знаю точно как интерпретировать.
В задании было: Faça uma fusão entre a composição colorida selecionada no item anterior e a banda pancromática, utilizando a técnica IHS (que no Envi chama-se HSV)

Сделать смесь из цветной композиции,сделанной в предыдущем пункте (это была композиция RGB) и панхроматического канала, используя технику IHS (в ENVI именующуюся HSV).

Цель - думаю, или просто так отработать технику, или\и - в конечном итоге - получить какую-то особую возможность дешифровки местности на геологические формации разных минералов (о чем было все задание из разных пунктов).


Я перевела композицию RGB в HSV, повысила контрастность каждого канала H, S, V, из этого - опять перевела в RGB. И уже этот снимок по описанными вами шагам - соединила в один файл при помощи Layer Stacking.
Однако, не понимаю, этот ли результат был нужен. Поскольку в задании значилось "слияние" всего, то я сложила все итоговые каналы в Bandmath (3 канала RGB, получение которых описала выше + панхроматический канал), итог, понятное дело, открывается только через Gralescale. Что-то такое он и правда показывает, чего не было видно на цветных.. но не знаю.. :roll:

возможно, преподаватель имел в виду какие то иные шаги и мой результат не совсем верный.

Но по обозначенным вопросам - я разобралась, большое спасибо!! :)

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: Сложение снимков в ENVI

Сообщение alexandr cherepanov » 06 июл 2013, 20:15

Faça uma fusão entre a composição colorida selecionada no item anterior e a banda pancromática, utilizando a técnica IHS (que no Envi chama-se HSV
Оно?
E: Transformações
3. Rotação MNF (MNF Rotation) ............................................................................................ 6
4. Merge de Imagens (Fusão) ......................................................................................................... 6
4.1. Fusão pancromática / Multiespectral por IHS ...................................................... 6
4.2. Fusão Pancromática/Multi-Espectral pelo Método de brovey (Color Normalized) ... 7
Поскольку в задании значилось "слияние" всего.....возможно, преподаватель имел в виду какие то иные шаги и мой результат не совсем верный
Скорее всего имелся в виду fusion - повышение пространственного разрешения мультиспека по панхрому. Transform->ImageSharpening->HSV, с различными вариантами синтеза из трех каналов на входе.
Там же все с пошаговыми картинками вроде?

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 20:27

alexandr cherepanov писал(а):
Faça uma fusão entre a composição colorida selecionada no item anterior e a banda pancromática, utilizando a técnica IHS (que no Envi chama-se HSV
Оно?
E: Transformações
3. Rotação MNF (MNF Rotation) ............................................................................................ 6
4. Merge de Imagens (Fusão) ......................................................................................................... 6
4.1. Fusão pancromática / Multiespectral por IHS ...................................................... 6
4.2. Fusão Pancromática/Multi-Espectral pelo Método de brovey (Color Normalized) ... 7
Там же все с пошаговыми картинками вроде?
Нда.... а я там еще не смотрела. Читала задание, другой учебник и хелп. :oops:
Кстати, не знала что это мануал просто где то в сети выложен, нам его на лекциях в виде файла дали.
Думаю, скорее вы правы. Пойду разбираться дальше по нему.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 06 июл 2013, 22:04

alexandr cherepanov писал(а): Скорее всего имелся в виду fusion - повышение пространственного разрешения мультиспека по панхрому. Transform->ImageSharpening->HSV, с различными вариантами синтеза из трех каналов на входе.
Там же все с пошаговыми картинками вроде?

Спасибо! Теперь, надеюсь, всё более правильно.
Обсуждение выше также было использовано (внесения информации о привязке)
В итоге получилась композиция с 3 каналами
HSV Sharp R (Band2:ETM_230_088_LosMen)
HSV Sharp G (Band3:ETM_230_088_LosMen)
HSV Sharp B (Band1:ETM_230_088_LosMen)

думаю, это конечный результат..
В том смысле, что, как мне кажется, эта технология не предполагает перевода полученных каналов в RGB (сравнивая с другой методикой перевода из RGB - HSV - и опять в RGB)

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Сложение снимков в ENVI

Сообщение Natalia Novoselova » 07 июл 2013, 04:30

В продолжении темы по мат. операциям с каналами в ENVI. Для операции вычитания каналов в теории написано, что перед тем, как из одного канала вычесть другой, - следует повысить контрастность в обоих и выровнять параметры St. Dev.

Но - повышая контрастность (н-р Tools- Interective Stretching - Linear2%) у каналов, это происходит только в Дисплее в котором открыт канал, то есть если просто повышать контрастность в дисплее без сохранения, это ведь не должно ничего менять в их свойствах при вычитании каналов через Bandmath? А как сохранить в канале повышение контрастности? :roll:

Ответить

Вернуться в «Обработка ДДЗ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей