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 Hyperspectral Imaging Library из 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. Axes 1 with title Input Band contains an object of type image. Axes 2 with title Radiance Band contains an object of type image.

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

свернуть все

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

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

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

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

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

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

свернуть все

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

Radiance Lλ=(DN×Gain)+Bias

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

Введенный в R2020b
Для просмотра документации необходимо авторизоваться на сайте