Сложение снимков в ENVI
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Сложение снимков в ENVI
Как можно сложить 2 снимка на одну территорию: цветная композиция RGB (из одного файла шестиканального Landsat) + Панхроматичный (1 канал, из другого файла)?
Через функцию Band Math - не получается, т.к. он складывает, вычитает и пр. - только каналы одного снимка (одного файла).
Возможно, эти два файла получены из одного Landsat снимка, однако, поскольку они в двух разных файлах, не получается их так сложить.
В учебнике (по обработке снимков) есть раздел, в котором эта операция вроде бы описывается теоретически, однако как это делать в ENVI не понятно.
Через функцию Band Math - не получается, т.к. он складывает, вычитает и пр. - только каналы одного снимка (одного файла).
Возможно, эти два файла получены из одного Landsat снимка, однако, поскольку они в двух разных файлах, не получается их так сложить.
В учебнике (по обработке снимков) есть раздел, в котором эта операция вроде бы описывается теоретически, однако как это делать в ENVI не понятно.
Последний раз редактировалось Natalia Novoselova 07 июл 2013, 04:27, всего редактировалось 2 раза.
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Сложение снимков в ENVI
разрешение панхрома и цветного небось разные? он тогда вроде не грузит бэнды с разным разрешением в одно окно, может и на математике отражается
ин гроссен фамилен нихт клювен клац клац
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Сложение снимков в ENVI
А есть способ, чтобы подгрузить каналы двух разных файлов в одно окно? (Что значит в одно окно - в один файл?)nadiopt писал(а):разрешение панхрома и цветного небось разные? он тогда вроде не грузит бэнды с разным разрешением в одно окно, может и на математике отражается
Когда я пробовала делать это Band Math:назначаю B1+B2+B3+B4 в строке формул, то потом при операции присвоения этим параметрам - соотв. каналов в окне "Variable to band pairing" - я могу назначать или каналы одного снимка, или другого.
Может быть, я неправильно делаю эту операцию в Band Math?
Насчет разрешения, пока затрудняюсь ответить. А как его можно узнать из Envi?
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Сложение снимков в ENVI
в окне авайлабл бэндс есть плюсики под каждым файлом. Там вроде пиксель сайз
вот придет Александр Черепанов, скажет умнее, а я делаю лэерстэк из нужных каналов
вот придет Александр Черепанов, скажет умнее, а я делаю лэерстэк из нужных каналов
ин гроссен фамилен нихт клювен клац клац
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Сложение снимков в ENVI
Вы делаете Envi Layer Stacking?nadiopt писал(а):в окне авайлабл бэндс есть плюсики под каждым файлом. Там вроде пиксель сайз
вот придет Александр Черепанов, скажет умнее, а я делаю лэерстэк из нужных каналов
По описанию - это то, что я ищу. Но не могу разобраться как это делать по хелпу..
То, кстати, что я не понимаю, почему в Envi хелп к операциям написан частично в виде программного кода?
Вот, пример по 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
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
чето как-то мрачно все
из главного окна энви - бэйсик тулз - лэерстэкинг, вот и все
из главного окна энви - бэйсик тулз - лэерстэкинг, вот и все
ин гроссен фамилен нихт клювен клац клац
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Сложение снимков в ENVI
Спасибо, как делать теперь понимаю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
дык взять инфу из панхрома, только пиксель сайз 30
ин гроссен фамилен нихт клювен клац клац
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Сложение снимков в ENVI
У меня только один вопрос - зачем их вообще складывать? Конечная цель какая?Как можно сложить 2 снимка на одну территорию: цветная композиция RGB (из одного файла шестиканального Landsat) + Панхроматичный (1 канал, из другого файла)?
А так, чтобы работать через Band Math растры должны иметь одинаковый размер = количество строк/столбцов, в принципе это единственное условие. Совпадают растры или не совпадают по объектам программе без разницы. Получить одинаковый размер можно вырезанием по области/растру или собрать их в одном файле - Layer Stacking. Второй вариант проще и позволяет заодно привести данные к одной системе координат и одинаковому пространственному разрешению.
А после этого можете делать с каналами все что угодно, только не забудьте про ограничения на диапазон значений у различных типов данных. Если будете складывать/вычитать, то лучше сразу переводите свои значения из byte в integer.
вместо
Код: Выделить всё
B1+B2+B3+B4
Код: Выделить всё
fix(B1)+B2+B3+B4
открываете EDIT HEADER и нажимаете ок для шестиканалки и панхрома. Закрываете оба файла, открываете через любой текстовый редактор оба header файлы. Переносите строчку map info и меняете разрешение. Сохраняете изменения и открываете снимки в ENVI.как можно поднять эту информацию (видимо о проекции и пр) для данного файла, чтобы он стал "georeferenced" если ее почему то нет.
Последний раз редактировалось alexandr cherepanov 06 июл 2013, 19:14, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Сложение снимков в ENVI
толстый троллинг ...alexandr cherepanov писал(а):[У меня только один вопрос - зачем их вообще складывать? Конечная цель какая?
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Сложение снимков в ENVI
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. Что-то такое он и правда показывает, чего не было видно на цветных.. но не знаю..
возможно, преподаватель имел в виду какие то иные шаги и мой результат не совсем верный.
Но по обозначенным вопросам - я разобралась, большое спасибо!!
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Сложение снимков в ENVI
Оно?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
Нда.... а я там еще не смотрела. Читала задание, другой учебник и хелп.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
Кстати, не знала что это мануал просто где то в сети выложен, нам его на лекциях в виде файла дали.
Думаю, скорее вы правы. Пойду разбираться дальше по нему.
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Сложение снимков в ENVI
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
В продолжении темы по мат. операциям с каналами в ENVI. Для операции вычитания каналов в теории написано, что перед тем, как из одного канала вычесть другой, - следует повысить контрастность в обоих и выровнять параметры St. Dev.
Но - повышая контрастность (н-р Tools- Interective Stretching - Linear2%) у каналов, это происходит только в Дисплее в котором открыт канал, то есть если просто повышать контрастность в дисплее без сохранения, это ведь не должно ничего менять в их свойствах при вычитании каналов через Bandmath? А как сохранить в канале повышение контрастности?
Но - повышая контрастность (н-р Tools- Interective Stretching - Linear2%) у каналов, это происходит только в Дисплее в котором открыт канал, то есть если просто повышать контрастность в дисплее без сохранения, это ведь не должно ничего менять в их свойствах при вычитании каналов через Bandmath? А как сохранить в канале повышение контрастности?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей