Страница 1 из 2
Индексы вегетации в ENVI
Добавлено: 23 май 2010, 20:49
Sergey_USU
Здравствуйте!
У меня возник вопрос при использовании индексов вегетации в ENVI (правда пользователь этой программы я еще не очень опытный

).
В ENVI есть встроенный индекс вегетации NDVI, который получается из двух каналов (RED и NIR). При этом через инструмент Band Math можно составлять другие индексы, например, трех канальные (+Green). Но если требуется составить более сложный индекс вегетации, который нельзя выразить одним выражением, а нужно использовать if, and и or. В справке написано, что and и or использовать вроде можно, но вот как использовать ветвление не знаю

. Можете помочь?
Вообще задача у меня стоит в идентификации лесов, т.е. в простой идентификации от почвы и других объектов (или вообще идентификация растительности). Если может кто помочь, буду очень рад!
Re: Индексы вегетации в ENVI
Добавлено: 24 май 2010, 14:07
nadiopt
лес от не-леса можно даже неконтролируемой классификацией отличить
а что за хитрый индекс вы хотите составить?
Re: Индексы вегетации в ENVI
Добавлено: 24 май 2010, 21:41
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 г.
Re: Индексы вегетации в ENVI
Добавлено: 24 май 2010, 23:55
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)
Проверьте выражение, может что не так записал
Re: Индексы вегетации в ENVI
Добавлено: 25 май 2010, 16:50
Sergey_USU
Спасибо! Вроде получилось.
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 14:34
olgagolubeva
добрый день!
помогите пожалуйста, как сделать индекс NDVI.
Я делаю через spectral - vegetation analisis- vegetation index calculator.....что дальше
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 16:49
nadiopt
смотрим картинку
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 18:52
olgagolubeva
у меня такая картинка
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 19:15
nadiopt
ну ды надо сказать OK
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 20:26
olgagolubeva
я нажимаю ОК.
НО он выдает мне ошибку(см.картинку)
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 21:21
nadiopt
ааа ну я в таком случае использую band math хотя говорят что значения каналов можно вручную в hdr прописать
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 21:45
olgagolubeva
что писать в диалоговом окне
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 22:05
nadiopt
как в посте про bandmath
viewtopic.php?f=20&t=5620
а потом про бэнды он сам спросит
Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 22:42
olgagolubeva
спасибо, вообщем что то получилось)Но картинка местности осталась прежней. Нужно что то дальше делать, чтоб получить картинку о существующей растительности и ее состоянии
Например получить такую же картину как (см.картинку)

Re: Индексы вегетации в ENVI
Добавлено: 14 мар 2011, 23:29
funkyman
а вы картинку то раскрашивали?