sharpencnmf

Заточка гиперспектральных данных с использованием связанного неотрицательного метода матричной факторизации (CNMF)

    Описание

    пример

    outputData = sharpencnmf(lrData,hrData) усиливает гиперспектральные данные низкого разрешения, lrData сцены при помощи связанного неотрицательного метода матричного факторизации (CNMF). Метод CNMF является итеративным подходом, который использует мультиспектральные или панхроматические данные высокого разрешения, hrData той же сцены для заточки гиперспектральных данных.

    Гиперспектральное повышение четкости изображения увеличивает пространственное разрешение гиперспектральных данных путем слияния информации из мультиспектральных данных высокого разрешения или панхроматических данных. Процесс заточки также называется как image fusion (слияние мультиспектральных и гиперспектральных данных) или pan-sharpening (слияние панхроматических и гиперспектральных данных).

    Примечание

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

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

    пример

    outputData = sharpencnmf(lrData,hrData,Name,Value) также задает опции, использующие один или несколько аргументы пары "имя-значение". Используйте этот синтаксис, чтобы задать значения параметров для метода CNMF.

    Примечание

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

    Примеры

    свернуть все

    Считайте гиперспектральное изображение сцены с низким пространственным разрешением в рабочую область.

    hcube = hypercube('EO1H0440342002212110PY_hsi.hdr');

    Считайте мультиспектральное изображение с высоким пространственным разрешением той же сцены в рабочую область.

    pcube = hypercube('EO1H0440342002212110PY_msi.hdr');

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

    newhcube = sharpencnmf(hcube,pcube);

    Оцените изображение RGB входа гиперспектрального, входного мультиспектрального и заточенного гиперспектрального выхода.

    lrData = colorize(hcube,'method','rgb','ContrastStretching',true);
    hrData = colorize(pcube,'method','rgb','ContrastStretching',true);
    outputData = colorize(newhcube,'method','rgb','ContrastStretching',true);

    Отобразите гиперспектральное (HS) изображение с низким пространственным разрешением, мультиспектральное (MS) изображение с высоким пространственным разрешением и выходное изображение с высоким разрешением HS.

    figure
    montage({lrData;hrData;outputData})
    title('Low Resolution HS Input | High Resolution MS Input | High Resolution HS Output')

    Считайте гиперспектральное изображение сцены с низким пространственным разрешением в рабочую область.

    hcube = hypercube('EO1H0440342002212110PY_hsi.hdr');

    Считайте мультиспектральное изображение с высоким пространственным разрешением той же сцены в рабочую область.

    pcube = hypercube('EO1H0440342002212110PY_msi.hdr');

    Заточите гиперспектральные данные с низким пространственным разрешением с помощью метода CNMF. Установите пороговое значение сходимости равным 0,1.

    newhcube = sharpencnmf(hcube,pcube,'ConvergenceThreshold',0.1);

    Оцените изображение RGB входа гиперспектрального, входного мультиспектрального и заточенного гиперспектрального выхода.

    lrData = colorize(hcube,'method','rgb','ContrastStretching',true);
    hrData = colorize(pcube,'method','rgb','ContrastStretching',true);
    outputData = colorize(newhcube,'method','rgb','ContrastStretching',true);

    Отобразите гиперспектральное (HS) изображение с низким пространственным разрешением, мультиспектральное (MS) изображение с высоким пространственным разрешением и выходное изображение с высоким разрешением HS.

    figure
    montage({lrData;hrData;outputData})
    title('Low Resolution HS Input | High Resolution MS Input | High Resolution HS Output')

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

    свернуть все

    Гиперспектральные данные низкого разрешения, заданные как hypercube объект или 3-D числовой массив, содержащий кубик данных. Если вход является hypercube объект, данные считываются из DataCube свойство объекта.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Вход высокого разрешения, заданный как hypercube объект 3-D числовой массив, содержащий кубик данных или матрицу. Если вход является hypercube объект, данные считываются из DataCube свойство объекта.

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

    • Для мультиспектральных данных входное значение должно быть hypercube объект или 3-D числовой массив, содержащий кубик данных.

    • Для панхроматических данных входное значение может быть любым из следующих:

      • A hypercube объект или 3-D числовой массив, содержащий кубик данных. Количество спектральных полос в кубе данных должно быть 1.

      • Матрица.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Аргументы в виде пар имя-значение

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: cnmf(lrData,hrData,'MaxConvergenceIterations',40)

    Максимальное количество итераций, необходимых для сходимости, задается как разделенная разделенными запятой парами, состоящая из 'MaxConvergenceIterations' и положительный целочисленный скаляр.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Максимальное количество итераций, необходимых для оптимизации спектрального разблокирования гиперспектральных и мультиспектральных данных, заданных как разделенная разделенными запятой парами, состоящая из 'MaxOptimizationIterations' и положительный целочисленный скаляр. Если вход высокого разрешения hrData является панхроматическим изображением, спектральное размешивание выполняется только на гиперспектральных данных.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Порог сходимости, заданное как разделенная разделенными запятой парами, состоящая из 'ConvergenceThreshold' и положительная скалярная величина. Если вы увеличиваете порог сходимости, точность спектральной размешивания уменьшается.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Количество конечных элементов для спектрального размешивания, заданное как разделенная разделенными запятой парами, состоящая из 'NumEndmembers' и положительный целочисленный скаляр.

    Для значения по умолчанию, sharpencnmf сначала подсчитывает общее количество конечных элементов (TotalEM) в гиперспектральных данных при помощи countEndmembersHFC функция. Затем вычисляет количество конечных элементов для удаления пиксельных значений как, min (40, TotalEM).

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

    свернуть все

    Заточенные гиперспектральные данные, возвращенные как hypercube объект или 3-D числовой массив.

    Если кубик гиперспектральных данных низкого разрешения задан как lrData имеет размер P -by- Q -by- C и данные высокого разрешения hrData имеет размер M -by- N -by- K затем заточенный выход

    имеет размер M -by- N -by- C.

    Ссылки

    [1] Ёкоя, Наото, Такэхиса Яири и Акира Ивасаки. «Связанная неотрицательная матричная факторизация для гиперспектрального и мультиспектрального слияния данных». Транзакции ИИЭЭ по вопросам геологии и дистанционного зондирования 50, № 2 (февраль 2012 года): 528-37. https://doi.org/10.1109/TGRS.2011.2161320.

    См. также

    | | |

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