Показаны сообщения с ярлыком нормировка изображений. Показать все сообщения
Показаны сообщения с ярлыком нормировка изображений. Показать все сообщения

среда, 7 апреля 2021 г.

Smartphone NIR Technical Notes

 INTRODUCTION

We have adapted the Google (Nexus 5X, Nexus 5, Galaxy Nexus) and Apple (iPhone 6s, 6, 5s) smartphones for multi-spectral imaging applications (visible-to-near-infrared capability).


Night Sight, introduced in Google Camera App pushes the boundaries of low-light photography with smartphone cameras. It allows exposures up to 1 minute on the Pixel 3a so you can take sharp and clear pictures of the stars in the night sky or of nighttime landscapes without any artificial light. Sample imagery here.


Promising applications include near infrared photography, vegetation analysis, assisted night vision, UV/IR authentication, biological detection, urban growth analysis, defeating camouflage, disaster assessment, etc.


Use EigenCAM app to extract and isolate multi-spectral contents. 

Top row - clustering of red, blue, index.

Mid row - green cluster, decorrelation, near infrared.

Bottom row - RGB, NDVI in colors.

пятница, 26 марта 2021 г.

Вегетационные индексы. Основы, формулы, практическое использование

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

     Для работы со спектральной информацией часто прибегают к созданию так называемых «индексных» изображений. На основе комбинации значений яркости в определенных каналах, информативных для выделения исследуемого объекта, и расчета по этим значениям «спектрального индекса» объекта строится изображение, соответствующее значению индекса в каждом пикселе, что и позволяет выделить исследуемый объект или оценить его состояние. Спектральные индексы, используемые для изучения и оценки состояния растительности, получили общепринятое название вегетационных индексов.

     Вегетационный индекс (ВИ) - показатель, рассчитываемый в результате операций с разными спектральными диапазонами (каналами) данных дистанционного зондирования, и имеющий отношение к параметрам растительности в данном пикселе снимка. Эффективность ВИ определяется особенностями отражения; эти индексы выведены, главным образом, эмпирически.

     В настоящее время существует около 160 вариантов вегетационных индексов. Они подбираются экспериментально (эмпирическим путем), исходя из известных особенностей кривых спектральной отражательной способности растительности и почв.

среда, 3 октября 2012 г.

Нормировка изображений в OpenCV и awpipl2

OpenCV

Норма изображения ||Image|| OpenCV вычисляется с использованием функции cvNorm().
Прототип функции:

double cvNorm(const CvArr* arr1, const CvArr* arr2, int normType = CV_L2, const CvArr* mask)

arr1 - первое исходное изображение.
arr2 - второе исходное изображение.
normType - тип вычисляемой нормы.
mask - маска, по которой вычисляется норма изображений.

Если arr2 или arr2 = NULL, то вычисляется абсолютная норма первого или второго и изображения, в противном случае вычисляется абсолютная норма разности изображения, либо относительная норма разности изображений.

Типы вычисляемых норм.
normType может принимать следующие значения:

В случае, если одно из изображений NULL
CV_C    normC = ||arr|| = max(|arr(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum(arr(i)*arr(i)))

В случае, если оба изображения не равны NULL


CV_C    normC = ||arr|| = max(|arr1(i)-arr2(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr1(i)-arr2(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum((arr1(i) - arr2(i))*(arr1(i) - arr2(i))))

В случае, если normType & CV_RELATIVE != 0


CV_C    normC = ||arr|| = max(|arr1(i)-arr2(i)|) /  max(|arr2(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr1(i)-arr2(i)|) /  Sum(|arr2(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum((arr1(i) - arr2(i))*(arr1(i) - arr2(i)))/ Sqrt(arr2(i)*arr2(i)))

Функция возвращает вычисленную норму. Много-канальное изображение рассматривается как одно-канальное и возвращается норма комбинации каналов.



awpipl2

Нормировка изображений в awpipl2 выполняется с помощью функции awpNormImage. Вычисление нормы изображение выполняется с помощью функции awpGetNorm.

Прототипы функций:

AWPRESULT awpGetNorm(const awpImage* src, const awpImage* mask, awpImage** result, int normType);

Параметры функции:
src - исходное изображение, для которого требуется вычислить норму.
mask - изображение маски, которое может быть использовано для вычисления нормы
result - результирующее изображение, содержащее значения нормы.
normType - типы вычисляемой нормы

Комментарии:
awpGetNorm вычисляет норму изображения src, c учетом маски mask и сохраняет результат в изображение result. Размерности маски mask должны в точности соответствовать размерностям исходного изображения src, число каналов в должно быть равно 1, типа данных должен быть AWP_BYTE. Для вычисления нормы используются только те пиксели маски, значения которых не равны нулю. Если значение переменной mask равно NULL, то вычисляется норма всего изображения src. Формат результирующего изображения result AWP_DOUBLE, его высота равна 1,  ширина соответствует числу каналов изображения src, число каналов равно 1, значения нормы для каждого канала лежат в соответствующих пикселях изображения result. Если изображение result равно NULL, то функция awpGetNorm создает подходящее изображение, в противном случае использует изображение пользователя. Если формат или размерности изображения result, переданные пользователем в функцию awpGetNorm не соответствуют требованиям, описанным выше, то функция возвращает статус AWP_BADARG.

Типы вычисляемой нормы:
Параметр normType может принимать два значения

AWP_NORM_L1,  normL1 = ||src|| = Sum(|src(i)|)
AWP_NORM_L2,  normL2 = ||src|| = Sqrt(src(i)*src(i))

AWPRESULT awpNormImage(const awpImage* src, awpImage** result, int normType);


Параметры функции:
src - исходное изображение, для которого требуется выполнить нормировку.
result - результирующее нормированное изображение
normType - типы используемой нормировки

Комментарий:
awpNormImage выполняет нормировку normType изображения src и записывает результат в изображение result. Изображение result имеет тип AWP_DOUBLE, его размерности и число каналов соответствуют изображению src. В случае, если изображения result равно NULL, то функция awpNormImage создает подходящее изображение, в противном случае используется изображение пользователя. Если формат или размерности изображения result, переданные пользователем в функцию  awpNormImage  не соответствуют требованиям, описанным выше, то функция возвращает статус AWP_BADARG.

Типы используемой нормировки:
AWP_NORM_L1, result(i) = src(i) / ||src|| = src(i) / Sum(|src(i)|)
AWP_NORM_L2, result(i) = src(i) / ||src|| = src(i) / Sqrt(Sum(src(i)*src(i)))

В случае, если ||src|| равна 0, то функция awpNormImage возвращает статус AWP_EMPTY_IMAGE