exponenta event banner

radiance2Reflectance

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

Описание

пример

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

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

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

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

Примечание

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

Примечание

Для выполнения этой функции требуется библиотека гиперспектральных изображений Toolbox™ обработки изображений. Можно установить библиотеку гиперспектральных изображений панели инструментов обработки изображений из проводника надстроек. Дополнительные сведения об установке надстроек см. в разделе Получение надстроек и управление ими.

Примеры

свернуть все

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

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. Axes 1 with title Radiance Band contains an object of type image. Axes 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

Значения отражательной способности ТОА определяют отношение отраженного поверхностью излучения к падающему на поверхность излучению.

Отражательная способность λ = πd2LλESUNλ

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

- спектральное излучение, вычисленное как:

Яркость = (DN × коэффициент усиления) + смещение

Усиление и смещение являются значениями усиления и смещения для каждого спектрального диапазона соответственно. Metadata имущество hypercube объект содержит значения коэффициента усиления и смещения.

Представлен в R2020b