Расчет среднего значения пикселей в envi
-
- Интересующийся
- Сообщения: 25
- Зарегистрирован: 26 окт 2013, 19:59
- Репутация: 0
Расчет среднего значения пикселей в envi
Добрый день! интересует вопрос. Есть файл с 17 каналами. каждый канал несет одинаковый вид инфо за конкретную дату (допустим какой-то индекс).нужно взять среднее значения с 17 каналов для каждого пикселя. Задача усложняется, тем что в некоторых каналах есть так сказать "выпавшие" пиксели с ложными значениями, но они (пиксели) в разных местах. То есть, например, 1 пиксель в 15 каналах имеет "правильное" значение и в 2 - "неправильное". Это неправильное значение конкретно определенно - 100. Таким образом,если значение пикселя в конкретном канале -100 , его нужно исключить с расчета и использовать только остальные 14. Вот думаю, есть ли возможность реализовать данное условие в Math bands?
-
- Участник
- Сообщения: 70
- Зарегистрирован: 16 апр 2012, 08:33
- Репутация: 16
Re: Расчет среднего значения пикселей в envi
Сначала для каждого канала выставляем значение 100 в ноль:
Потом просто суммируем все каналы и делим на их количество:
Код: Выделить всё
b1*(b1 ne 100)
Код: Выделить всё
(b1 + b2 + b3...) / 17
-
- Интересующийся
- Сообщения: 25
- Зарегистрирован: 26 окт 2013, 19:59
- Репутация: 0
Re: Расчет среднего значения пикселей в envi
спасибо за ответ! Вы наверно в первой формуле имели ввиду но , тогда мы включаем этот ноль в расчет и эти нули приравниваются к "правильному" значению, что не есть таким, потому что по сути эти пиксели никакой инфо не несут, а каждый ноль играет роль в правильности расчета поскольку от него зависит знаменатель в формуле среднего значения. + ко всему в "правильных" значениях есть и отрицательные (меньше ноля), по этому результат будет мягко говоря не точным. Мне бы именно задать условия чтобы полностью исключить пиксели с "неправильными" значениями, исключая их из общего количества (17) каналов при расчете среднего.
Код: Выделить всё
(b1 eq 100)*0
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Расчет среднего значения пикселей в envi
вы оба правыБорисфенка писал(а):Вы наверно в первой формуле имели ввиду ...
создайте новый слой sum17
Код: Выделить всё
sum17=(b1 ne 100)+(b2 ne 100)+(b3 ne 100)+...
-
- Интересующийся
- Сообщения: 25
- Зарегистрирован: 26 окт 2013, 19:59
- Репутация: 0
Re: Расчет среднего значения пикселей в envi
Вот это то к чему я не додумалась . Значит как я решила эту задачу (может кому-то интересно будет):gamm писал(а): создайте новый слой sum17Код: Выделить всё
sum17=(b1 ne 100)+(b2 ne 100)+(b3 ne 100)+...
1. Создала новый слой sum17 (смотр. выше)
2. Перевела 100 в 0 ( изначально оно так и было , сотку сделала чтобы ноль не мешал визуальному восприятию "картинки", учитывая, что значения от - до +, но можно просто вместо встроенной grayscale обозначит ноль конкретным цветом)
3. Просуммировала все 17 каналов ( чтоб не прописывать в Math bands делала через : Basic tools - Statistic - Sum Data bands)
4. И напоследок просто поделила файл с суммой на сделанный в (1) sum17.
Все вышло правильно - проверяла вручную на нескольких выбранных пикселях. Спасибо за советы!!!
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 10 фев 2011, 16:18
- Репутация: 0
Re: Расчет среднего значения пикселей в envi
Прошу прощения, не оч разбираюсь в ENVI, а разве Sum Data bands суммирует каналы? Из описания похоже, что функция работает с пикселами в одном канале. У меня вот схожая задача - рассчитать СКО для каждого пиксела из набора 28 идентичных по размеру изображений. Пока так и не понял как мне автоматизировать процесс (( Прошу помощи у форумчан.3. Просуммировала все 17 каналов ( чтоб не прописывать в Math bands делала через : Basic tools - Statistic - Sum Data bands)
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Расчет среднего значения пикселей в envi
Что выберите, то и посчитает.
SumDataBandsENVI calculates the various statistics as follows, where xj is the value of a pixel for band j and N = number of bands
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей