Индексы вегетации в ENVI

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Аватара пользователя
Sergey_USU
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 май 2010, 16:52
Репутация: 0

Индексы вегетации в ENVI

Сообщение Sergey_USU »

Здравствуйте!
У меня возник вопрос при использовании индексов вегетации в ENVI (правда пользователь этой программы я еще не очень опытный :) ).
В ENVI есть встроенный индекс вегетации NDVI, который получается из двух каналов (RED и NIR). При этом через инструмент Band Math можно составлять другие индексы, например, трех канальные (+Green). Но если требуется составить более сложный индекс вегетации, который нельзя выразить одним выражением, а нужно использовать if, and и or. В справке написано, что and и or использовать вроде можно, но вот как использовать ветвление не знаю :( . Можете помочь?
Вообще задача у меня стоит в идентификации лесов, т.е. в простой идентификации от почвы и других объектов (или вообще идентификация растительности). Если может кто помочь, буду очень рад!
Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Индексы вегетации в ENVI

Сообщение nadiopt »

лес от не-леса можно даже неконтролируемой классификацией отличить
а что за хитрый индекс вы хотите составить?
ин гроссен фамилен нихт клювен клац клац
Аватара пользователя
Sergey_USU
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 май 2010, 16:52
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение Sergey_USU »

Мне нужно посчитать индекс, который называется TCHVI (three-channel vegetation index)
TCHVI=((RED-GR)-(NIR-RED))/(abs(RED-GR)+abs(NIR-RED)) (*)

индекс зависит от значения яркости пикселя, в некоторых случаях в виде (*) он принимает значения +1 или -1; алгоритм его вычисления представляется следующим образом:

D1=RED-GR, D2=NIR-RED

if ((D1>0 and D2<0) or (D1<0 and D2>0)) { TCHVI=(D1+D2)/(absD1+absD2) }

if ((D1>0 and D2>0) or (D1<0 and D2<0)) { TCHVI=(D1-D2)/(absD1+absD2) }

//взято из статьи: Бондур В.Г., Чимитдоржиев Т.Н. Дистанционное зондирование растительности оптико-микроволновыми методами. Известия ВУЗов. Геодезия и аэрофотосъемка. 2008 г.
alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: Индексы вегетации в ENVI

Сообщение alexandr cherepanov »

pro файл скопируйте в sav_add

FUNCTION TCHVI, b2, b3, b4
; D1=RED-GR
b100 = float(b3)-float(b2)
; D2=NIR-RED
b200 = float(b4)-float(b3)
; (absD1+absD2)
b300 = abs(b100)+abs(b200)
b1=(b100 gt 0 and b200 lt 0 or b100 lt 0 and b200 gt 0)*((b100+b200)/b300)+(b100 gt 0 and b200 gt 0 or b100 lt 0 and b200 lt 0)*((b100-b200)/b300)
RETURN, b1
END

Запускается через Band Math выражением
TCHVI(b2, b3, b4)

Проверьте выражение, может что не так записал
Аватара пользователя
Sergey_USU
Новоприбывший
Сообщения: 3
Зарегистрирован: 23 май 2010, 16:52
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение Sergey_USU »

Спасибо! Вроде получилось.
olgagolubeva
Новоприбывший
Сообщения: 12
Зарегистрирован: 14 мар 2011, 14:04
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение olgagolubeva »

добрый день!
помогите пожалуйста, как сделать индекс NDVI.
Я делаю через spectral - vegetation analisis- vegetation index calculator.....что дальше
Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Индексы вегетации в ENVI

Сообщение nadiopt »

смотрим картинку
Вложения
энви_вег.JPG
энви_вег.JPG (67.03 КБ) 17360 просмотров
ин гроссен фамилен нихт клювен клац клац
olgagolubeva
Новоприбывший
Сообщения: 12
Зарегистрирован: 14 мар 2011, 14:04
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение olgagolubeva »

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

Re: Индексы вегетации в ENVI

Сообщение nadiopt »

ну ды надо сказать OK
ин гроссен фамилен нихт клювен клац клац
olgagolubeva
Новоприбывший
Сообщения: 12
Зарегистрирован: 14 мар 2011, 14:04
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение olgagolubeva »

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

Re: Индексы вегетации в ENVI

Сообщение nadiopt »

ааа ну я в таком случае использую band math хотя говорят что значения каналов можно вручную в hdr прописать
ин гроссен фамилен нихт клювен клац клац
olgagolubeva
Новоприбывший
Сообщения: 12
Зарегистрирован: 14 мар 2011, 14:04
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение olgagolubeva »

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

Re: Индексы вегетации в ENVI

Сообщение nadiopt »

как в посте про bandmath
viewtopic.php?f=20&t=5620
а потом про бэнды он сам спросит
ин гроссен фамилен нихт клювен клац клац
olgagolubeva
Новоприбывший
Сообщения: 12
Зарегистрирован: 14 мар 2011, 14:04
Репутация: 0

Re: Индексы вегетации в ENVI

Сообщение olgagolubeva »

спасибо, вообщем что то получилось)Но картинка местности осталась прежней. Нужно что то дальше делать, чтоб получить картинку о существующей растительности и ее состоянии
Например получить такую же картину как (см.картинку)Изображение
funkyman
Участник
Сообщения: 69
Зарегистрирован: 21 ноя 2010, 17:43
Репутация: 0
Откуда: Пенза
Контактная информация:

Re: Индексы вегетации в ENVI

Сообщение funkyman »

а вы картинку то раскрашивали?
Ответить

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

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

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