dn2radiance

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

Описание

пример

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

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

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

Например, dn2radiance(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);

Вычислите значения сияния с помощью dn2radiance функция.

newhcube = dn2radiance(hcube);

Считайте и отобразите изображение диапазона во входе и выходных данных о сиянии.

inputBand = hcube.DataCube;
radianceBand = newhcube.DataCube;
band = 80;
figure
subplot(1,2,1)
imagesc(inputBand(:,:,band))
title('Input Band')
axis off
subplot(1,2,2)
imagesc(radianceBand(:,:,band))
title('Radiance 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 Radiance Band contains an object of type image.

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

свернуть все

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

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

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

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

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

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

свернуть все

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

Radiance Lλ=(DN×Gain)+Bias

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

Введенный в R2020b