dn2reflectance

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

Описание

пример

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

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

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

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

Примечание

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

Примечание

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

Примеры

свернуть все

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

hcube = hypercube('EO1H0440342002212110PY_cropped.hdr');

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

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

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

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

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

newhcube = dn2reflectance(hcube);

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

inputBand = hcube.DataCube;
reflectanceBand = newhcube.DataCube;
band = 80;
figure
subplot(1,2,1)
imagesc(inputBand(:,:,band))
title('Input Band')
axis off
subplot(1,2,2)
imagesc(reflectanceBand(:,:,band))
title('Reflectance Band')
axis off
colormap gray   

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

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

свернуть все

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

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

Вычислите значения Коэффициента отражения TOA из DNS

Учитывая цифровой номер (DN), коэффициент отражения TOA вычисляется при помощи усиления коэффициента отражения (RGain), и коэффициент отражения возместил (ROffset) каждого диапазона в кубе данных.

Reflectance ρλ=(DN×RGain)+ROffset

Усиление коэффициента отражения и значения смещения коэффициента отражения каждого диапазона хранятся в заголовочном файле.

В качестве альтернативы значения коэффициента отражения TOA могут быть оценены от цифровых чисел (DN) при помощи этих двух шагов:

  1. Вычислите значения сияния из цифрового номера (DN).

    Radiance Lλ=(DN×Gain)+Bias

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

  2. Вычислите значения коэффициента отражения TOA из значений сияния.

    Reflectance ρλ=πd2LλESUNλθE

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

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

| | | | |

Введенный в R2020b