- •281 И.М.Журавель "Краткий курс теории обработки изображений"
- •Типы изображений
- •Бинарные изображения: геометрические характеристики
- •Бинарные изображения
- •Ориентация
- •Кодирование с переменной длиной
- •Сложные объекты
- •Локальные вычисления и итеративная модификация
- •Системы получения рентгенографических изображений
- •Получение изображений с помощью радиоизотопов
- •Ультразвуковая диагностика
- •Использование эффекта ядерного магнитного резонанса (ямр) для получения изображений
- •Пример обработки рентгеновских биомедицинских изображений с использованием системы matlab
- •1) Методы растяжения; 2) гистограммные методы; 3) ранговые методы; 4) разностные методы; 5) методы преобразования локальных контрастов.
- •Приложение. Программа, реализующая оценивания визуального качества изображений по одному из изложенных выше методов (формулы (2)-(6))
- •Обзор методов цифровой обработки изображений
- •Моделирование разностных методов в среде matlab
- •Обзор методов цифровой обработки изображений: Методы растяжения
- •Обзор методов цифровой обработки изображений: Методы гистограммных преобразований
- •Обзор методов цифровой обработки изображений: Метод преобразования локальных контрастов
- •Адаптивное повышение контрастности изображений
- •Использование функции протяженности гистограммы
- •Энтропия изображения
- •Использование среднеквадратического отклонения значений яркостей элементов окрестности в методах контрастирования изображений
- •Нелинейное растяжение локальных контрастов
- •Анализ некоторых характеристик локальных окрестностей
- •Статистическое определение локального контраста
- •Фильтрация изображений: Алгоритмы сглаживания изображений
- •Сглаживание для аддитивной модели
- •Сглаживание для модели импульсных помех
- •Увеличение детальности изображений
- •Обнаружение деталей и их границ
- •Применения ранговых алгоритмов
- •Фильтрация изображений: Обобщенная линейная фильтрация
- •Деконволюция
- •Предварительная обработка изображений
- •1. Бейтс р., Мак-Доннелл м. Восстановление и реконструкция изображений: Пер. С англ.- м.: Мир, 1989. - 336. 2. Bracewell r.N. The Fourier Transform and its Applications. - n.Y.: McGraw-Hill, 1978.
- •Расширение границ изображений. Сверхразрешение.
- •Реконструкция размытых изображений в matlab
- •Границы изображений: Края и их обнаружение
- •Дифференциальные операторы
- •Дискретные аппроксимации
- •Выделение и локализация края
- •Классификация по ближайшему соседу
- •Классификация по ближайшей центроиде
- •Автоматическое формирование кластера
- •Кодирование и сжатие изображений
- •Применение в сейсмологии
- •Применение в биологии Электрокардиография
- •Применение на транспорте Распознавание автомобилей
- •Распознавание самолетов
- •Imshow(he), title('h&e изображение');
- •Шаг 2: Вычисление выборки цветов в цветовом пространстве l*a*b* для каждой локальной области.
- •Imshow(sample_regions(:, :, 2)), title('Пример красной области');
- •Шаг 3: Классификация каждого пикселя с использованием принципа ближайшей окрестности.
- •Шаг 4: Отображение результатов классификации по ближайшей окрестности.
- •Шаг 5: Отображение значений 'a*' и 'b*' отмеченных цветов.
- •Шаг 4: Улучшение цветных изображений
- •Изображение 2: Применение линейных конформных преобразований.
- •Изображение 4: Применение проекционных преобразований.
- •Изображение 5: Применение полиномиальных преобразований.
- •Шаг 2: Исследование отображения изображений с помощью линий сетки, окружностей и т.П.
- •Шаг 3: Достижение специальных эффектов на результирующем изображении с помощь использования метода частичных масок.
- •Шаг 4: Повторение эффекта на разных изображениях
- •Шаг 1: Первичное преобразование изображений.
- •Шаг 4: Реализация методов с параметрами 'circular' и 'symmetric'.
- •Image Acquisition Toolbox, хранятся в виде mat-файла pendulum.Mat.
- •Гранулометрия
- •Параллельные лучи - реконструкция фантома головы на основании проекционных данных.
- •Веерные лучи - вычисление синтезированных проекций.
- •Xlabel('Веерный поворот угла (в градусах) ')
- •Веерные лучи - реконструкция фантома головы на основании проекционных данных.
- •Сегментация методом управляемого водораздела
- •Шаг 3: Маркировка объектов переднего плана.
- •Шаг 4: Вычисление маркеров фона.
- •Реконструкция изображений с использованием регуляризационного фильтра
- •Восстановление изображений с использованием метода Лаки-Ричардсона
- •Шаг 5: Обработка шумовой составляющей.
- •Шаг 8: Моделирование взвешенного массива (массив weight).
- •Шаг 9: Моделирование функции протяженности точки psf.
- •Некоторые подходы к улучшению визуального качества изображений с затемненными участками.
- •Шаг 3. Арифметические операции с изображениями.
- •Шаг 4. Растяжение динамического диапазона интенсивностей пикселей изображения.
- •Реализация некоторых методов видоизменения гистограмм в системе Matlab
- •Шаг 3: Экспоненциальное преобразование гистограммы.
- •Шаг 4: Преобразование гистограммы по закону Рэлея.
- •Шаг 5: Преобразование гистограммы по закону степени .
- •Шаг 6: Гиперболическое преобразование гистограммы.
- •Шаг 3: Использование медианного фильтра для устранения импульсного шума.
- •Шаг 4: Подавление шумовой составляющей с использованием операции сглаживания.
- •Шаг 5: Пороговый метод подавления шумов.
- •Шаг 6: Низкочастотная фильтрация с использованием шумоподавляющих масок.
Шаг 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')
