Этот пример показывает некоторый основной состав изображений и методы улучшения для использования с многоспектральными данными. Часто необходимо улучшить многоспектральное сияние или данные о коэффициенте отражения, чтобы создать изображение, которое подходит для визуальной интерпретации. Пример использует Landsat тематическое формирование изображений картопостроителя, покрывающее часть Парижа, Франция. Семь диапазонов хранятся в одном файле в формате LAN Эрдаса. Покрытые Концепции включают:
Чтение многоспектральных данных из файлов LAN Эрдаса
Построение цвета составляет композит от различных комбинаций полосы
Улучшение формирования изображений с контрастным фрагментом
Улучшение формирования изображений с фрагментом декорреляции
Используя scatterplots
Файл LAN, paris.lan
, содержит с 7 полосами 512 512 изображение Landsat. 128-байтовый заголовок сопровождается пиксельными значениями, которые являются полосой, чередованной с методической точностью (BIL) в порядке увеличения числа полосы. Они хранятся как 8-битные целые числа без знака в прямом порядке байтов.
Считайте полосы 3, 2, и 1 из файла LAN с помощью функции MATLAB® multibandread
. Эти полосы покрывают видимую часть спектра. Когда они сопоставлены с красными, зелеными, и синими плоскостями, соответственно, изображения RGB, результатом является стандартный составной объект истинного цвета. Итоговый входной параметр к multibandread
, задает, который полосы читать, и в который порядок, так, чтобы можно было создать составной объект RGB на одном шаге.
truecolor = multibandread('paris.lan', [512, 512, 7], 'uint8=>uint8', ... 128, 'bil', 'ieee-le', {'Band','Direct',[3 2 1]});
Составной объект истинного цвета имеет очень мало контраста, и цвета являются несбалансированными.
f1 = figure; imshow(truecolor); figure(f1); title('Truecolor Composite (Un-enhanced)') text(size(truecolor,2), size(truecolor,1) + 15,... 'Image courtesy of Space Imaging, LLC',... 'FontSize', 7, 'HorizontalAlignment', 'right')
Путем просмотра гистограммы красной полосы, например, вы видите, что данные сконцентрированы в небольшой части доступного динамического диапазона. Это - одна причина, почему составной объект истинного цвета кажется тусклым.
f2 = figure;
imhist(truecolor(:,:,1))
figure(f2);
title('Histogram of the Red Band (Band 3)')
Другая причина тусклого внешнего вида составного объекта состоит в том, что видимые полосы высоко коррелируются друг с другом. 2D и scatterplots с тремя полосами являются отличным способом измерить степень корреляции среди диапазонов. Можно сделать их легко только при помощи plot
.
r = truecolor(:,:,1); g = truecolor(:,:,2); b = truecolor(:,:,3); f3 = figure; plot3(r(:),g(:),b(:),'.') grid('on') xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') figure(f3); title('Scatterplot of the Visible Bands')
Явный линейный тренд "красного зеленого синего цвета" scatterplot указывает, что видимые полосы высоко коррелируются. Это помогает объяснить монохроматический вид нерасширенного составного объекта истинного цвета.
Когда вы используете imadjust
, чтобы применить линейный контрастный фрагмент к изображению составного объекта истинного цвета, поверхностные функции легче распознать.
stretched_truecolor = imadjust(truecolor,stretchlim(truecolor));
f4 = figure;
imshow(stretched_truecolor)
figure(f4);
title('Truecolor Composite after Contrast Stretch')
Гистограмма красной полосы после применения контрастного фрагмента показывает, что данные были распространены намного по больше доступного динамического диапазона.
f5 = figure;
imhist(stretched_truecolor(:,:,1))
figure(f5);
title('Histogram of Red Band (Band 3) after Contrast Stretch')
Другой способ улучшить составной объект истинного цвета состоит в том, чтобы использовать фрагмент декорреляции, который улучшает цветоделение через очень коррелированые каналы. Используйте decorrstretch
, чтобы выполнить фрагмент декорреляции (сопровождаемый линейным контрастным фрагментом, как задано дополнительной парой значения параметров 'Tol'
и 0.1
).
decorrstretched_truecolor = decorrstretch(truecolor, 'Tol', 0.01); f6 = figure; imshow(decorrstretched_truecolor) figure(f6); title('Truecolor Composite after Decorrelation Stretch')
Снова, поверхностные функции стали намного более явно видимыми, но по-другому. Спектральные различия через сцену были преувеличены. Значимым примером является область зеленого цвета на левом крае, который кажется черным в расширенном от контраста составном объекте. Этой зеленой зоной является Bois de Boulogne, большой парк на западном ребре Парижа.
Как ожидалось scatterplot после фрагмента декорреляции показывает сильное уменьшение в корреляции.
r = decorrstretched_truecolor(:,:,1); g = decorrstretched_truecolor(:,:,2); b = decorrstretched_truecolor(:,:,3); f7 = figure; plot3(r(:),g(:),b(:),'.') grid('on') xlabel('Red (Band 3)') ylabel('Green (Band 2)') zlabel('Blue (Band 1)') figure(f7); title('Scatterplot of the Visible Bands after Decorrelation Stretch')
Так же, как с видимыми полосами, информация от полос 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) менее коррелируется с видимыми полосами, чем видимые полосы друг с другом, фрагмент декорреляции делает много функций легче видеть.
stretched_CIR = decorrstretch(CIR, 'Tol', 0.01); f8 = figure; imshow(stretched_CIR) figure(f8); title('CIR after Decorrelation Stretch')
Свойство цветного инфракрасного излучения составляет композит, то, что они выглядят красными в областях с высокой растительностью (хлорофилл) плотность. Заметьте, что парк Bois de Boulogne является красным в составном объекте CIR, который сопоставим с его зеленым внешним видом в расширенном от декорреляции составном объекте истинного цвета.
См. также decorrstretch
, imhist
, imadjust
, multibandread
, stretchlim
.
decorrstretch
| imadjust
| imhist
| multibandread
| plot3
| stretchlim