Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткий курс теории обработки изображений.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.39 Mб
Скачать

Шаг 4: Улучшение цветных изображений

Одним из путей улучшения контраста цветных изображений является преобразование цветовых пространств, которое приводит к изменению значений составляющих цвета. Одним из таких преобразований является замена цветового пространства RGB на L*a*b*.

srgb2lab=makecform('srgb2lab');

lab2srgb=makecform('lab2srgb');

shadow_lab=applycform(shadow, srgb2lab);

% Значение интенсивности из диапазона от 0 до 100, преобразуется в диапазон

% [0 1] (преобразования выполняются в формате double)

% и далее применяются некоторые методы повышения контрастности

max_luminosity=100;

L=shadow_lab(:, :, 1)/max_luminosity;

shadow_imadjust=shadow_lab;

shadow_imadjust(: ,: , 1)=imadjust(L)*max_luminosity;

shadow_imadjust=applycform(shadow_imadjust, lab2srgb);

shadow_histeq=shadow_lab;

shadow_histeq(: ,: , 1)=histeq(L)*max_luminosity;

shadow_histeq=applycform(shadow_histeq, lab2srgb);

shadow_adapthisteq=shadow_lab;

shadow_adapthisteq(: ,: , 1)=adapthisteq(L)*max_luminosity;

shadow_adapthisteq=applycform(shadow_adapthisteq, lab2srgb);

figure, imshow(shadow);

title('Original');

figure, imshow(shadow_imadjust);

title('Imadjust');

Original

Imadjust

figure, imshow(shadow_histeq);

title('Histeq');

figure, imshow(shadow_adapthisteq);

title('Adapthisteq');

Histeq

Adapthisteq

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

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

Рассмотрим основные подходы к улучшению изображений, полученных на основе мультиспектральных данных. Для этого используем аэрокосмический снимок части Парижа (Франция). Изображение представлено программой Erdas в формате LAN. Оно было зафиксировано в семи диапазонах спектра. Концепция дальнейшей обработки сводится к следующему:

  • Считывание мультиспектральных данных из LAN-файла с помощью программы Erdas.

  • Построение цветовых составляющих на основе комбинации различных диапазонов спектра.

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

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

Последовательность действий:

Шаг 1: Построение составляющих мультиспектрального изображения в формате truecolor.

Шаг 2: Использование гистограммы для исследования цветовых составляющих изображения.

Шаг 3: Использование корреляции для анализа составляющих truecolor.

Шаг 4: Улучшение truecolor-составляющих с помощью растяжения контраста.

Шаг 5: Ограничение гистограммы при растяжении контраста.

Шаг 6: Улучшение цветовых составляющих изображения с помощью метода декорреляционного растяжения.

Шаг 7: Ограничение гистограммы при декорреляционном растяжении.

Шаг 8: Построение и улучшение CIR-составляющих.

Шаг 1: Построение составляющих мультиспектрального изображения в формате truecolor.

LAN-файл paris.lan содержит 7-диапазонное аэрокосмическое изображение с размерами 512-на-512. Значения пикселей представлены в формате целых 8-битных чисел без знака.

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

truecolor=multibandread('paris.lan', [512, 512, 7], 'uint8=>uint8', ...

128, 'bil', 'ieee-le', {'Band','Direct',[3 2 1]});

Составляющие truecolor имеют очень небольшой контраст и цвет их несбалансированный.

figure

imshow(truecolor);

text(size(truecolor,2), size(truecolor,1) + 15,...

'Image courtesy of Space Imaging, LLC',...

'FontSize', 7, 'HorizontalAlignment', 'right')

Шаг 2: Использование гистограммы для исследования цветовых составляющих изображения. Просматривая гистограмму красной составляющей, можно увидеть какие данные сконцентрированы в небольшой части имеющегося динамического диапазона. figure imhist(truecolor(:, :, 1))

Шаг 3: Использование корреляции для анализа составляющих truecolor. Между составляющими компонентами изображения существует некоторая связь, т.е. корреляция. Графически эту зависимость можно представить так.

r=truecolor(:, :, 1);

g=truecolor(:, :, 2);

b=truecolor(:, :, 3);

figure

plot3(r(:), g(:), b(:), '.')

grid('on')

xlabel('Red')

ylabel('Green')

zlabel('Blue')

Такое представление составляющих изображения позволяет отобразить их корреляционные зависимости и объясняет псевдомонохроматический вид составляющих.

Шаг 4: Улучшение truecolor-составляющих с помощью растяжения контраста.

При использовании функции imadjust для линейного растяжения контраста, происходит восстановление (улучшение) изображения.

stretched_truecolor=imadjust(truecolor, stretchlim(truecolor));

figure

imshow(stretched_truecolor)

Шаг 5: Ограничение гистограммы при растяжении контраста.

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

figure

imhist(stretched_truecolor(:, :, 1))

Шаг 6: Улучшение цветовых составляющих изображения с помощью метода декорреляционного растяжения.

Другой путь улучшения truecolor-составляющих состоит в использовании метода декорреляционного растяжения, который улучшает их расположение в метрическом пространстве с точки зрения высокой корреляции спектральных диапазонов. Для выполнения декорреляционного растяжения используется функция decorrstretch (эта функция аналогична линейному растяжению контраста).

decorrstretched_truecolor=decorrstretch(truecolor, 'Tol', 0.01);

figure

imshow(decorrstretched_truecolor)

Кроме того, поверхность характеризуется хорошо различимыми локальными областями различных цветов. Иными словами, такие области характеризуются большими спектральными различиями. В качестве примера отметим зеленую область в левой части изображений. В реальности эта область является парком в западной части Парижа.

Шаг 7: Ограничение гистограммы при декорреляционном растяжении.

Продемонстрируем эту процедуру на примере.

r=decorrstretched_truecolor(:, :, 1);

g=decorrstretched_truecolor(:, :, 2);

b=decorrstretched_truecolor(:, :, 3);

figure

plot3(r(:), g(:), b(:), '.')

grid('on')

xlabel('Red')

ylabel('Green')

zlabel('Blue')

Шаг 8: Построение и улучшение CIR-составляющих.

Аэрокосмические летательные аппараты могут фиксировать изображения как в видимом, так и в невидимом диапазонах спектра. Для визуализации изображений в невидимом спектре используют преобразование в формат RGB. При решении рассматриваемой задачи используют диапазон, который находится вблизи инфракрасного диапазона (near infrared (NIR)). Также возможно его использование вместе с другими диапазонами для исследования, например, задач экологического состояния региона.

Рассмотрим визуализацию изображения, полученного в так называемом CIR-диапазоне

(color infrared (CIR)).

CIR=multibandread('paris.lan', [512, 512, 7], 'uint8=>uint8', ...

128, 'bil', 'ieee-le', {'Band','Direct',[4 3 2]});

Для усиления некоторых характеристик изображения используют декорреляционное растяжение.

stretched_CIR=decorrstretch(CIR, 'Tol', 0.01);

figure

imshow(stretched_CIR)

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

Регистрация аэрофотографий на ортофотоснимках

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

Ключевые понятия

Регистрация изображений, контрольные точки, геометрические преобразования, ортофотоснимки

Ключевые функции

cpselect, cp2tform, imtransform

Демонстрация примера включает следующие шаги:

 Шаг 1: Считывание изображения.

 Шаг 2: Выбор контрольных точек.

 Шаг 3: Выбор геометрических преобразований.

 Шаг 4: Преобразование незарегистрированных изображений.

 Шаг 5: Просмотр зарегистрированных изображений.

Шаг 1: Считывание изображения. Изображение westconcordorthophoto.png представляет собой ортофотоснимок, на котором изображена некоторая часть поверхности земли. Изображение westconcordaerial.png являет собой незарегистрированное аэроизображение и содержит некоторые искажение относительно ортофотоснимка. unregistered=imread('westconcordaerial.png'); figure, imshow(unregistered) figure, imshow('westconcordorthophoto.png')

Шаг 2: Выбор контрольных точек. Первым шагом на пути совмещения представленных выше изображений является выбор контрольных точек с помощью функции cpselect. load westconcordpoints cpselect(unregistered(:, :, 1),'westconcordorthophoto.png',...     input_points,base_points) С помощью специального пакета существует возможность выбора соответствующих контрольных точек. Контрольные точки используются в качестве маркеров для совмещения (привязки) двух изображений. Четырех пар контрольных точек уже достаточно для поиска (привязки). На основании этих точек делается заключение о том, какие геометрические преобразования нужно проделать в дальнейшем.

При идентификации аэрофотоснимка может возникнуть необходимость в добавлении пары контрольных точек.

Для запоминания контрольных точек необходимо в меню File выбрать опцию Save Points to Workspace. После запоминания точек следует перезаписать переменные input_points и base_points.

Шаг 3: Выбор геометрических преобразований.

На предварительных шагах было определено аэрофотоизображение и соответствующее ему топографическое изображение. На исходном аэрофотоизображении возможны геометрические искажения. С помощью функции cp2tform осуществляется поиск параметров проекционных искажений. t_concord=cp2tform(input_points, base_points, 'projective'); Шаг 4: Преобразование незарегистрированных изображений. Совмещая изображения с помощью выбранных контрольных точек существует возможность выявления геометрических искажений. А применение функции imtransform приводит к устранению этих искажений. Следует отметить, что выбор значений 'XData' и 'YData' обеспечивает еще более точное совмещение (калибровку) с ортофотоснимком. Info=imfinfo('westconcordorthophoto.png'); registered=imtransform(unregistered, t_concord, ...     'XData', [1 info.Width], 'YData', [1 info.Height]); Шаг 5: Просмотр зарегистрированных изображений. figure, imshow(registered)

Визуальный анализ полученных результатов свидетельствует о их приемлемости. В другом случае, для получения еще более эффективного результата, следует начать обработку с шага 2 и выбрать большее число контрольных точек.

Пространственные преобразования изображений

Большинство свойств пространственных преобразований наиболее наглядно демонстрируются на примере изображения шахматной доски.

Ключевые понятия

Пространственные преобразования, координатная система, линейные конформные отображения, аффинные преобразования, проекции, полиномы, кусочно-линейный, бочкообразные искажения

Ключевые функции

checkerboard, maketform, imtransform, makeresampler, tformarray

Приведем демонстрационные примеры, которые будут включать:

 Изображение 1: Создание шахматной доски.

 Изображение 2: Применение линейных конформных преобразований.

 Изображение 3: Применение аффинных преобразований.

 Изображение 4: Применение проекционных преобразований.

 Изображение 5: Применение полиномиальных преобразований.

 Изображение 6: Применение кусочно-линейных преобразований.

 Изображение 7: Применение синусоидальных преобразований.

 Изображение 8: Применение бочкообразных преобразований.

 Изображение 9: Применение инверсных бочкообразных преобразований.

Изображение 1: Создание шахматной доски.

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

Геометрические преобразования заключаются в преобразовании из одной системы координат в другую. В этом примере изображение представляет собой сетку в виде шахматной доски, представленную в некоторой исходной координатной системе. Каждое преобразование проводится в различных координатных системах. При вычислении геометрических преобразований исходное изображение находится в координатах (x, y), а преобразованное изображение - в координатах (u, v).

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

I=checkerboard(10, 2); figure subplot(331) imshow(I) title('original')