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' Аргумент пары "имя-значение", у вас должен быть MATLAB R2021a или более поздний релиз.

    Примечание

    Эта функция требует библиотеки Image Processing Toolbox™ гиперспектральной визуализации. Можно установить библиотеку Image Processing Toolbox Hyperspectral Imaging Library из Add-On Explorer. Дополнительные сведения об установке дополнений см. в разделе Получение и управление Дополнений.

    Примеры

    свернуть все

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

    hcube = hypercube('paviaU');

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

    hcubeCorrected = subtractDarkPixel(hcube);

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

    свернуть все

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

    • hypercube объект. The 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] Соури, А. Х. и М. А. Шарифи. Оценка эмпирических подходов к атмосферной коррекции гиперспектральных изображений на основе сцен. Документ, представленный на 33-й Азиатской конференции по дистанционному зондированию, Паттайя, Таиланд, ноябрь 2012 года.

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