exponenta event banner

dn2radiance

Преобразование цифрового числа в сияние

Описание

пример

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

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

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

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

Примечание

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

Примечание

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

Примеры

свернуть все

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

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 объект. DataCube имущества hypercube объект сохраняет гиперспектральный куб данных. Чтобы преобразовать значения пикселей в цифровых числах в значения излучения, Metadata имущества hypercube объект должен содержать Gain и Offset поля.

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

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

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

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

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

свернуть все

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

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

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

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