exponenta event banner

subtractDarkPixel

Вычитание значения темного пикселя из куба гиперспектральных данных

    Описание

    пример

    correctedData = subtractDarkPixel(inputData) вычитает минимальное значение пикселя каждой полосы из всех пикселей в этой полосе гиперспектральных данных, inputData. Пикселы с минимальными значениями интенсивности являются темными пикселями гиперспектральных данных.

    correctedData = subtractDarkPixel(inputData,darkPixels) вычитает указанное значение, darkPixels, из всех пикселей в каждой гиперспектральной полосе. Можно указать одно значение для вычитания во всех областях куба данных или отдельное значение для каждой области. После вычитания функция устанавливает для всех отрицательных значений пикселов значение 0.

    correctedData = subtractDarkPixel(___,'BlockSize',blocksize) задает размер блока для обработки блока гиперспектрального куба данных с помощью аргумента пары имя-значение 'BlockSize'. Можно указать 'BlockSize' аргумент пары имя-значение в дополнение к входным аргументам в предыдущих синтаксисах.

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

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

    Примечание

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

    Примечание

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

    Примеры

    свернуть все

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

    hcube = hypercube('paviaU');

    Вычитание минимального значения пикселя каждой полосы из всех пикселей в этой полосе.

    hcubeCorrected = subtractDarkPixel(hcube);

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

    свернуть все

    Введите гиперспектральные данные, указанные как одно из следующих значений.

    • hypercube объект. DataCube имущества hypercube объект сохраняет гиперспектральный куб данных.

    • Числовой массив M-by-N-by-C - M и N - количество строк и столбцов в каждой полосе гиперспектральных данных. C - число спектральных полос в гиперспектральном наборе данных.

    Значение для вычитания из пикселов каждой полосы, определяемое как числовой скаляр или числовой вектор C-элемента. C - количество полос в гиперспектральном наборе данных. Если указать скаляр, функция вычитает это значение из пикселов всех полос в наборе данных.

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

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

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

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

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

    свернуть все

    Исправленные гиперспектральные данные, возвращенные как hypercube объект или числовой массив M-by-N-by-C с размерами куба данных, равными размерам входных данных inputData.

    Ссылки

    [1] Соури, А. Х. и М. А. Шарифи. «Оценка основанных на сцене эмпирических подходов к атмосферной коррекции гиперспектральных изображений». Документ, представленный на тридцать третьей Азиатской конференции по дистанционному зондированию, Паттайя, Таиланд, ноябрь 2012 года.

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