ndvi

Нормированный индекс растительности

    Синтаксис

    Описание

    пример

    output = ndvi(hcube) вычисляет нормированный индекс растительности (NDVI) значение для каждого пикселя в кубе данных и возвращает изображение NDVI. Изображение NDVI отображает области растительного покрова входа гиперспектральные данные. Функция вычисляет значение NDVI с помощью красной полосы (R) и изображений полосы почти инфра красного (NIR) в кубе данных. ndvi функционируйте использует значения коэффициента отражения полосы на 800 нм и на 670 нм для красного и изображений полосы NIR соответственно.

    Примечание

    Эта функция требует Image Processing Toolbox™ Гиперспектральная Библиотека Обработки изображений. Можно установить Image Processing Toolbox Гиперспектральная Библиотека Обработки изображений из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями.

    Примеры

    свернуть все

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

    hcube = hypercube('indian_pines.dat');

    Вычислите значение NDVI для каждого пикселя в кубе данных.

    ndviImg = ndvi(hcube);

    Оцените расширенное от контраста изображение RGB от исходного куба данных при помощи colorize функция.

    rgbImg = colorize(hcube,'Method','RGB','ContrastStretching',true);

    Отобразите оригинал и изображение NDVI.

    fig = figure('Position',[0 0 1200 600]);
    axes1 = axes('Parent',fig,'Position',[0 0.1 0.4 0.8]);
    imshow(rgbImg,'Parent',axes1)
    title('RGB Image of Data Cube')
    axes2 = axes('Parent',fig,'Position',[0.45 0.1 0.4 0.8]);
    imagesc(ndviImg,'Parent',axes2)
    colorbar
    title('NDVI Image')

    Области растительности обычно имеют значения NDVI от 0,2 и 0.8. Значения NDVI, меньше чем или равные 0,2, указывают на отсутствие растительности. Выполните пороговую обработку изображения NDVI, чтобы сегментировать области растительности. Задайте пороговое значение.

    threshold = 0.2;

    Сгенерируйте бинарное изображение со значением интенсивности 1 для пикселей со счетом, больше, чем или равный заданному порогу. Все другие пиксели имеют значение 0. Области в бинарном изображении со значением 1 соответствуйте областям растительности в кубе данных со значениями NDVI, больше, чем порог.

    bw = ndviImg > threshold;

    Наложите бинарное изображение на RGB, отображают и отображают наложенное изображение.

    overlayImg = imoverlay(rgbImg,bw,[0 1 0]);
    figure
    imagesc(overlayImg)
    title('Vegetation Region Overlaid on RGB Image')

    Вычислите растительный покров на основе общего количества пикселей в диапазоне и количестве пикселей со значением NDVI, больше, чем 0,2.

    numVeg = find(bw == 1);
    imgSize = size(hcube.DataCube,1)*size(hcube.DataCube,2);
    vegetationCover = length(numVeg)/imgSize
    vegetationCover = 0.5696
    

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

    свернуть все

    Введите гиперспектральные данные в виде hypercube объект. Функции читают гиперспектральный куб данных из DataCube свойство объекта и затем вычисляет значение NDVI каждого пикселя.

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

    свернуть все

    Выведите изображение NDVI, возвращенное как матрица размера M-by-N. M и N являются пространственными размерностями куба входных данных. Если типом данных куба входных данных является double, типом выходных данных является также double. В противном случае типом выходных данных является single.

    Функция вычисляет значение NDVI для каждого пикселя как

    NDVI=NIRRNIR+R,

    и значения находятся в области значений [-1, 1]. Значение близко к 1 указывает, что здоровая растительность, 0 указывает, что нездоровая растительность, и-1 не указывает ни на какую растительность.

    Типы данных: single | double

    Ссылки

    [1] Haboudane, D. “Гиперспектральные индексы Растительности и Новые Алгоритмы для Предсказания Зеленого LAI Навесов Обрезки: Моделирование и Валидация в Контексте Сельского хозяйства Точности”. Дистанционное зондирование Среды 90, № 3 (15 апреля 2004): 337–52. https://doi.org/10.1016/j.rse.2003.12.013.

    Смотрите также

    | |

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