Улучшите мультиспектральные цветные композитные изображения

Этот пример показывает некоторые основные композиции изображений и методы улучшения для использования с мультиспектральными данными. Часто необходимо усилить мультиспектральное сияние или данные о отражении, чтобы создать изображение, подходящее для визуальной интерпретации. В примере используются тематические изображения Landsat mapper, охватывающие часть Парижа, Франция. Семь спектральных полос хранятся в одном файле в формате Erdas LAN. Охватываемые концепции включают:

  • Чтение мультиспектральных данных из файлов LAN Erdas

  • Построение цветовых композитов из различных полос комбинаций

  • Улучшение изображений с контрастным растяжением

  • Улучшение изображений с декоративной натяжкой

  • Использование скаттерплотов

Создайте композит Truecolor из мультиспектрального изображения

Файл LAN, paris.lan, содержит 7-диапазонное изображение 512 на 512 Landsat. За 128-байтовым заголовком следуют пиксельные значения, которые перемежаются полосой пропускания линией (BIL) в порядке увеличения количества полос. Они хранятся как беззнаковые 8-битные целые числа, в малоэндовом порядке байтов.

Считывайте полосы 3, 2 и 1 из файла LAN с помощью функции MATLAB ® multibandread. Эти полосы охватывают видимую часть спектра. Когда они отображаются на красный, зеленый и синий плоскости, соответственно, изображения RGB, результатом является стандартный композит truecolor. Конечный входной параметр для multibandread определяет, какие полосы данных считывать и в каком порядке, чтобы можно было создать композитный файл RGB за один шаг.

truecolor = multibandread('paris.lan',[512, 512, 7],'uint8=>uint8', ...
    128,'bil','ieee-le',{'Band','Direct',[3 2 1]});

Композитный материал truecolor имеет очень мало контраста, и цвета не сбалансированы.

imshow(truecolor)
title('Truecolor Composite (Un-Enhanced)')
text(size(truecolor,2),size(truecolor,1)+15,...
  'Image courtesy of Space Imaging, LLC',...
  'FontSize',7,'HorizontalAlignment','right')

Figure contains an axes. The axes with title Truecolor Composite (Un-Enhanced) contains 2 objects of type image, text.

Исследуйте гистограмму и Scatterplot Un-Enhanced Truecolor Composite

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

imhist(truecolor(:,:,1))
title('Histogram of the Red Band (Band 3)')

Figure contains 2 axes. Axes 1 with title Histogram of the Red Band (Band 3) contains an object of type stem. Axes 2 contains 2 objects of type image, line.

Другой причиной тусклого внешнего вида композита является то, что видимые полосы сильно коррелируют друг с другом. Двух- и трехполосные рассеянные графики являются отличным способом оценить степень корреляции среди спектральных полос. Вы можете сделать их легко, просто используя plot. Линейный тренд красно-зелено-синего скаттерплота указывает, что видимые полосы сильно коррелируют. Это помогает объяснить монохроматический внешний вид неусиленного композита truecolor.

r = truecolor(:,:,1);
g = truecolor(:,:,2);
b = truecolor(:,:,3);

plot3(r(:),g(:),b(:),'.')
grid('on')
xlabel('Red (Band 3)')
ylabel('Green (Band 2)')
zlabel('Blue (Band 1)')
title('Scatterplot of the Visible Bands')

Figure contains an axes. The axes with title Scatterplot of the Visible Bands contains an object of type line.

Улучшите композитный Truecolor с контрастным растяжением

Когда вы используете imadjust чтобы применить линейное контрастное растяжение к составному изображению truecolor, функции легче распознать.

stretched_truecolor = imadjust(truecolor,stretchlim(truecolor));
imshow(stretched_truecolor)
title('Truecolor Composite after Contrast Stretch')

Figure contains an axes. The axes with title Truecolor Composite after Contrast Stretch contains an object of type image.

Проверяйте гистограмму после контрастного растяжения

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

imhist(stretched_truecolor(:,:,1))
title('Histogram of Red Band (Band 3) after Contrast Stretch')

Figure contains 2 axes. Axes 1 with title Histogram of Red Band (Band 3) after Contrast Stretch contains an object of type stem. Axes 2 contains 2 objects of type image, line.

Улучшите Truecolor композитный с растяжением декореляции

Другой способ улучшения композиционного материала truecolor заключается в использовании декоративного растяжения, которое улучшает разделение цвета через сильно коррелированные каналы. Использование decorrstretch для выполнения декорреляционного растяжения. Задайте необязательную пару "имя-значение" 'Tol',0.1 для выполнения линейного контрастного растяжения после декорреляционного растяжения. Опять же, функции стали гораздо более четко видны, но по-другому. Спектральные различия по сцене были преувеличены. Заметным примером является площадь зеленого цвета на левом крае, которая выглядит черной в контрастно-растянутом композите. Эта зеленая зона является Буа де Булонь, большой парк на западном ребре Парижа.

decorrstretched_truecolor = decorrstretch(truecolor,'Tol',0.01);
imshow(decorrstretched_truecolor)
title('Truecolor Composite after Decorrelation Stretch')

Figure contains an axes. The axes with title Truecolor Composite after Decorrelation Stretch contains an object of type image.

Проверяйте корреляцию после растяжения декореляции

Как ожидалось, рассеянный график, следующий за декоративным растяжением, показывает сильное уменьшение корреляции.

r = decorrstretched_truecolor(:,:,1);
g = decorrstretched_truecolor(:,:,2);
b = decorrstretched_truecolor(:,:,3);

plot3(r(:),g(:),b(:),'.')
grid('on')
xlabel('Red (Band 3)')
ylabel('Green (Band 2)')
zlabel('Blue (Band 1)')
title('Scatterplot of the Visible Bands after Decorrelation Stretch')

Figure contains an axes. The axes with title Scatterplot of the Visible Bands after Decorrelation Stretch contains an object of type line.

Создайте и улучшите CIR Composite

Так же, как и в случае видимых полос, информация из полос Landsat, охватывающих невидимые фрагменты спектра, может быть просмотрена путем создания и улучшения композитных изображений RGB. Ближняя инфракрасная (NIR) полоса (Полоса 4) важна из-за высокой отражательной способности хлорофилла в этой части спектра. Еще более полезно в сочетании с видимыми красным и зеленым (полосы 3 и 2 соответственно) формировать цветное инфракрасное (CIR) композитное изображение. Цветные инфракрасные (CIR) композиты обычно используются для идентификации растительности или оценки ее состояния роста и/или здоровья.

Создайте композит CIR путем чтения из исходного файла LAN и составления изображения RGB, которое преобразует полосы 4, 3 и 2 в красные, зеленые и синие, соответственно.

CIR = multibandread('paris.lan',[512, 512, 7],'uint8=>uint8', ...
    128,'bil','ieee-le',{'Band','Direct',[4 3 2]});

Даже несмотря на то, что ближняя инфракрасная полоса (NIR) полосы 4 меньше коррелирует с видимыми полосами, чем видимые полосы друг с другом, растяжение декорреляции облегчает просмотр многих функций. Свойство цветных инфракрасных композитов заключается в том, что они выглядят красными в областях с высокой плотностью растительности (хлорофилл). Заметьте, что парк Bois de Boulogne является красным в композите CIR, что согласуется с его зеленым внешним видом в растянутой декорацией композите truecolor.

stretched_CIR = decorrstretch(CIR,'Tol',0.01);
imshow(stretched_CIR)
title('CIR after Decorrelation Stretch')

Figure contains an axes. The axes with title CIR after Decorrelation Stretch contains an object of type image.

См. также

| | | | |

Похожие темы