radiance2Reflectance

Преобразуйте сияние в коэффициент отражения

Описание

пример

newhcube = radiance2Reflectance(hcube) преобразует пиксельные значения гиперспектрального куба данных от сияния до значений коэффициента отражения. Функция возвращает новый hypercube возразите и пиксельные значения куба данных представляют коэффициент отражения верхней части атмосферы (TOA). Для получения дополнительной информации см. Коэффициент отражения TOA.

newhcube = radiance2Reflectance(hcube,'BlockSize',blocksize) задает размер блока для обработки блока гиперспектрального куба данных при помощи аргумента пары "имя-значение" 'BlockSize'.

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

Например, radiance2Reflectance(hcube,'BlockSize',[50 50]) делит входное изображение на неперекрывающиеся блоки размера 50 50 и затем вычисляет значения коэффициента отражения для пикселей в каждом блоке.

Примечание

Выполнять обработку блока путем определения 'BlockSize' аргумент пары "имя-значение", у вас должен быть MATLAB® R2021a или более поздний релиз.

Примечание

Эта функция требует Image Processing Toolbox™ Гиперспектральная Библиотека Обработки изображений. Можно установить Image Processing Toolbox Гиперспектральная Библиотека Обработки изображений из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями.

Примеры

свернуть все

Считайте гиперспектральные данные в рабочую область.

input = hypercube('EO1H0440342002212110PY_cropped.hdr');

Определите плохие числа диапазона с помощью BadBands параметр в метаданных.

bandNumber = find(~input.Metadata.BadBands);

Удалите плохие диапазоны из куба данных.

input = removeBands(input,'BandNumber',bandNumber);

Преобразуйте цифровые числа в значения сияния при помощи dn2radiance функция.

hcube = dn2radiance(input);

Преобразуйте значения сияния в значения коэффициента отражения при помощи radiance2Reflectance функция.

newhcube = radiance2Reflectance(hcube);

Считайте и отобразите 80-й диапазон во входном сиянии и выходных данных о коэффициенте отражения.

radianceBand = hcube.DataCube;
reflectanceBand = newhcube.DataCube;
band = 80;

figure
subplot(1,2,1)
imagesc(radianceBand(:,:,band))
axis off
title('Radiance Band')
subplot(1,2,2)
imagesc(reflectanceBand(:,:,band))
title('Reflectance Band')

colormap(gray)
axis off    

Figure contains 2 axes objects. Axes object 1 with title Radiance Band contains an object of type image. Axes object 2 with title Reflectance Band contains an object of type image.

Входные параметры

свернуть все

Введите гиперспектральные данные в виде hypercube объект. DataCube свойство hypercube объектно-ориентированная память гиперспектральный куб данных. Пиксельные значения куба данных должны быть значениями сияния, задающими сумму излучения от отображаемой поверхности. Можно преобразовать пиксельные значения в цифровых числах к значениям сияния при помощи dn2radiance функция.

Размер блоков данных в виде вектора с 2 элементами из положительных целых чисел. Элементы вектора соответствуют количеству строк и столбцов в каждом блоке, соответственно. Размер блоков данных должен быть меньше размера входного изображения. Деление гиперспектральных изображений в меньшие блоки включает вам большие наборы данных процесса, не исчерпывая память.

  • Если blocksize значение слишком мало, использование памяти функции уменьшает за счет увеличенного времени выполнения.

  • Если blocksize значение является большим или равным входному размеру изображения, время выполнения уменьшает за счет увеличенного использования памяти.

Пример: 'BlockSize',[20 20] задает размер каждого блока данных как 20 20.

Выходные аргументы

свернуть все

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

Больше о

свернуть все

Коэффициент отражения TOA

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

Reflectance ρλ=πd2LλESUNλθE

d является расстоянием наземного солнца в астрономических модулях, ESUNλ является средней освещенностью солнечного излучения для каждого диапазона, и θE является углом возвышения солнца.

является спектральным сиянием, вычисленным как:

Radiance Lλ=(DN×Gain)+Bias

Gain и Bias являются усилением и значениями смещения для каждого диапазоны соответственно. Metadata свойство hypercube объект содержит значения смещения и усиление.

Смотрите также

| | | | |

Введенный в R2020b