Uploaded by aleshovvladimyr

Bulatova kursovaya polnaya

advertisement
Содержание
Введение
Глава I. Основные методы и алгоритмы обработки изображения
1) Основные понятия и обработка изображения
2) Фильтры обработки изображения
Глава II. Обработка изображений на основе матричных фильтров
1. Матрица сверки
2. Фильтр размытия
3. Фильтр размытия по Гауссу
4. Фильтр улучшения четкости
5. Медианный фильтр
6. Фильтры эрозия и наращивание
Заключение
Список используемой литературы
2
Введение
В современном мире использование графического изображения
возрастает с каждым днем. Ведь большинство людей легче воспринимают
какую – либо информацию визуально, нежели на слуху. При этом наряду со
значительным повышением уровня развития техники, весьма существенную
роль играют методы обработки изображения.
Приблизительно на протяжении двухсот лет протекает процесс
улучшения фотографий и не останавливается, посей день. С каждым днем
рождаются
новые
формы
обработки
изображения,
некоторые
совершенствуются, другим на смену приходят новее и интереснее. Благодаря
современным технологиям, методы обработки изображения полностью
меняют представление об изображении. Тем не менее, на сегодняшний день
нет почти ни одной области, которую не затрагивала бы цифровая обработка
изображений. Области применения цифровой обработки изображений
достаточно разнообразны. Свое распространение оно имеет во многих
науках, в создании рекламы и т.д.
Если мы вернемся на несколько лет назад, то вспомним, что
фотографии, того времени в основном были черно-белыми, только
постепенно начали приобретать цвет. Но с годами, они утрачивают свое
прежнее состояние, теряют свое качество. С совершенствование технологий
удалось добиться того, что вернуть фотографию в первоначальный вид дело
нескольких минут.
Обработка изображений обеспечивает улучшение изображений,
сжатие данных для хранения и передачи по каналам связи, а также анализ,
распознавание и интерпретацию зрительных образов.
Основным содержание данной работы будет являться знакомство с
обработкой
изображения,
их
разновидностями,
подробное
изучение
матричных фильтров обработки изображения, так же их непосредственное
применение.
3
Для достижения поставленной цели необходимо решить следующие
задачи:
1. проанализировать литературу по данной теме и изучить основные
понятия;
2. определить методы фильтрации изображения, рассмотреть их
основные характеристики;
3. познакомиться с матричными фильтрами обработки изображения,
рассмотреть каждый подробно, с применением на конкретных
заданных значениях.
4
Глава I.
1.
Основные понятия и обработка изображений
Изображением называется двумерная функция 𝑓(𝑥, 𝑦) в которой x и у
— координаты в пространстве (на плоскости), а значение функции которой
в любой точке, определяется парой координат (х, у), называется
интенсивностью изображения в данной точке. Изображение будет являться
цифровым, если величины х, у и функция принимают конечное число
дискретных значений.
Цифровой обработкой изображений называется обработка цифровых
изображений,
которые
обрабатываются
благодаря
цифровым
вычислительным машинам. Цифровое изображение состоит из конечного
числа элементов, каждый из которых расположен в конкретном месте и
принимает определенное значение, соответственно называются элементами
изображения или пикселями. Для элементов цифрового изображения чаще
всего используется термин «пиксель».
Области применения цифровой обработки изображений столь разнообразны, что попытка обобщить их во всей широте требует какой-то системы
изложения. Один из простейших способов — классификация прикладных
областей
в
соответствии
соответствующие
синтетических
с
изображения.
(искусственных)
видами
Кроме
источников,
того,
имеется
изображений,
которые
формирующих
целый
класс
синтезируются
компьютерными программами и используются для моделирования и
визуализации. [2]
Пиксель цифрового изображения является оптически однородным, и
внутри его отдельные элементы изображения не выделяются. Экспериментально установлено, что для воспроизведения на цифровом снимке
компактного объекта его размер должен быть не менее четырех пикселей.
Растровое изображение строится из составляющих его пикселей,
размещаемых построчно слева направо и сверху вниз, а доступ к какому5
либо из них осуществляется по номеру соответствующего столбца (ix) и
строки (£у). [4]
Растровые координаты пикселя ix и iy относятся к его центру, хотя с
помощью математического аппарата они могут быть найдены с точностью
порядка 0,1 от его размера. В этих случаях для доступа к пикселю
используется целая часть его растровых координат.
Восстановление изображений — это область, также связанная с
повышением визуального качества изображения, однако, в отличие от
собственно улучшения, критерии которого субъективны, восстановление
изображения
восстановления
является
объективным
изображений
в
том
опираются
на
смысле,
что
методы
математические
или
вероятностные модели искажений изображения. Напротив, улучшение
изображений основано на субъективных предпочтениях человеческого
восприятия, которые связаны с тем, что именно считается «хорошим»
результатом улучшения.
Сжатие – относится к методам уменьшения объема памяти,
необходимого для хранения изображения, или сужения полосы пропускания
канала, требуемой для его передачи. Хотя техника запоминающих устройств
за последнее десятилетие была значительно усовершенствована, этого нельзя
сказать в отношении пропускной способности линий связи. Это особенно
справедливо по отношению к информации в Интернет, где изобразительная
составляющая является существенным элементом содержимого. Со сжатием
изображений
знакомо
большинство
пользователей
компьютеров,
встречающих в именах графических файлов определенные расширения;
например, jpg используется в стандарте сжатия изображений, разработанном
Объединенной группой экспертов по фотографии. [9]
Наличие
массовой
памяти
большого
объема
обязательно
для
практических задач обработки изображений. Для хранения изображения
размером 1024 х 1024 пикселя, в котором яркость каждого пикселя
представляется 8-битовой величиной, необходим один мегабайт памяти, если
6
не используются средства сжатия изображений. При работе с тысячами или
даже миллионами изображений наличие достаточной внешней памяти в
системе обработки изображений может оказаться проблематичным.
Обработку цветных изображений можно условно разделить на две
основные области: обработку изображений в натуральных цветах и
обработку изображений в псевдоцветах. В первом случае рассматриваемые
изображения обычно формируются цветными устройствами регистрации
изображения, такими как цветная телевизионная камера или цветной сканер.
Во втором случае задача состоит в присвоении цветов некоторым значениям
интенсивности монохромного сигнала или некоторым диапазонам изменения
его интенсивности. До последнего времени цифровая обработка цветных
изображений осуществлялась, по большей части, на уровне псевдоцветов. За
последнее десятилетие, однако, цветные устройства ввода и аппаратные
средства обработки цветных изображений стали вполне доступны по ценам.
Как результат, в настоящее время техника обработки изображений в
натуральных цветах используется в широком диапазоне приложений,
включая издательские системы, системы визуализации и Интернет. [2]
Обработка
изображения
в
псевдоцветах
(называемых
также
ложными цветами) подразумевает присвоение цветов пикселям полутонового
изображения на основе некоторого определенного правила. Термин
псевдоцвета, или ложные цвета, используется для того, чтобы отличать
цветные изображения, полученные в результате присвоения цветов точкам
монохромного изображения, от изображений в натуральных цветах.
Основное применение псевдоцветов — это визуализация и интерпретация
человеком
той
информации,
которая
содержится
в
полутоновых
изображениях или видеопоследовательностях.
Метод квантования по яркости
и цветового кодирования (т.е.
присвоения пикселям тех или иных цветов в качестве уровней квантования)
является одним из простейших примеров обработки изображения в
псевдоцветах.
Если
рассматривать
изображение
как
поверхность
в
7
трехмерном пространстве (яркость отвечает третей пространственной
координате), то обсуждаемый метод можно представлять себе как метод,
основанный
на
проведении
плоскостей,
параллельных
координатной
плоскости изображения. Каждая такая плоскость «разрезает» поверхность по
области пересечения. [1]
Существуют другие преобразования, более общего вида, применение
которых позволяет достичь более разнообразных результатов по сравнению с
простым методом квантования по яркости, рассмотренным в предыдущем
разделе. Один из таких методов, привлекательный с практической точки
зрения. Основная идея, лежащая в основе этого метода, состоит в том, чтобы
осуществить три независимых преобразования значений яркости для каждого
пикселя входного изображения. Затем три полученных изображения
подаются в красный, зеленый и синий каналы цветного монитора. В
результате формируется составное изображение, цветовое содержание
которого определяется природой используемых функций преобразования.
Отметим, что эти преобразования затрагивают лишь значения яркости
изображения и не зависят от положения точки на изображении. [3]
Набор
рассматриваемых
методов
далеко
не
являются
исчерпывающими, эти методы служат иллюстрацией того, как следует
обращаться с такими изображениями при решении различных задач их
обработки. Используемые при обработке цветных изображений подходы
распадаются на две основные категории. Подходы первой категории
предполагают, что каждая цветовая компонента изображения обрабатывается
отдельно, а затем результирующее цветное изображение составляется из
компонент, обработанных по отдельности. Для подходов второй категории
характерна непосредственная работа с цветными пикселями. Поскольку
цветное изображение содержит, как минимум, три составные части, то
значение цветного пикселя представляет собой вектор. В RGB модели,
например, значение пикселя изображения может рассматриваться как вектор,
8
проведенный из начала координат в соответствующую точку цветового
пространства. [2]
9
2.
Фильтры обработки изображения
Под фильтрацией изображений понимают операцию, имеющую
своим результатом изображение того же размера, полученное из исходного
по
некоторым
правилам.
Обычно
интенсивность
каждого
пикселя
результирующего изображение обусловлено интенсивностями пикселей,
расположенных в некоторой его окрестности в исходном изображении.
Правила фильтрации могут быть самыми разнообразными. Фильтрация
изображений
является
одной
из
самых
фундаментальных
операций
компьютерного зрения, распознавания образов и обработки изображений. С
той или иной фильтрации исходных изображений начинается работа
подавляющего большинства методов обработки изображений. [8]
Линейные фильтры имеют очень простое математическое описание.
Будем считать, что задано исходное полутоновое изображение A, и
обозначим интенсивности его пикселей A(x, y). Линейный фильтр
определяется вещественнозначной функцией h (ядром фильтра), заданной на
растре. Сама фильтрация производится при помощи операции дискретной
свертки (взвешенного суммирования):
B(x, y) = h (i, j) ③③A(x, y) =
h(i, j) A(x − i, y − j)
Результатом служит изображение B. Обычно ядро фильтра отлично от
нуля только в некоторой окрестности N точки (0, 0). За пределами этой
окрестности h(i, j) равно нулю, или очень близко к нему и им можно
пренебречь. Суммирование производится по (i, j)  N, и значение каждого
пикселя B(x, y) определяется пикселями изображения A, которые лежат в
окне N, центрированном в точке (x, y) (обозначение - множество N(x, y)).
Ядро
фильтра,
заданное
на
прямоугольной
окрестности
N,
может
рассматриваться как матрица m на n, где длины сторон являются нечетными
числами. При задании ядра матрицей ее следует центрировать. Если пиксель
(x, y) находится в окрестности краев изображения, то координаты A(x-i, y-j)
для определенных (i, j) могут соответствовать несуществующим пикселям A
10
за пределами изображения. Данную проблему можно разрешить несколькими
способами:
1. не проводить фильтрацию для таких пикселей, обрезав изображение
B по краям, или применив для их значений исходные значения изображения
А.
2. не включать отсутствующий пиксель в суммирование, распределив
его вес h(i, j) равномерно среди других пикселей окрестности N(x, y).
3. доопределить значения пикселей за границами изображения при
помощи экстраполяции.
4. доопределить значения пикселей за границами изображения, при
помощи зеркального продолжения изображения.
Выбор способа производится с учетом конкретного фильтра и
особенностей изображения. [7]
Сглаживающие
сглаживающий
фильтр
фильтры.
радиуса
r
Простейший
задается
при
прямоугольный
помощи
размера (2r + 1) × (2r + 1), все значения которой равны
1
(2𝑟+1)2
матрицы
, а сумма
значений равна единице. При фильтрации с таким ядром значение пикселя
заменяется усредненным значением пикселей в квадрате со стороной 2r +
1 вокруг него. Пример маски фильтра 3 × 3:
1 1
= (1
9
1
Одним из применений фильтров
𝑀1𝑙𝑜𝑤
1 1
1 1)
1 1
является шумоподавление. Шум
меняется независимо от пикселя к пикселю и, при условии, что
математическое ожидание значения шума равно нулю, шумы соседних
пикселей при суммировании будут компенсировать друг друга. Чем больше
окно фильтрации, тем меньше будет усредненная интенсивность шума,
однако при этом будет происходить и соответствующее размытие значащих
деталей изображения. Образом белой точки на черном фоне при фильтрации
(реакция на единичный импульс) будет равномерно серый квадрат.
11
Шумоподавление
при
помощи
прямоугольного
фильтра
имеет
существенный недостаток: все пиксели в маске фильтра на любом
расстоянии от обрабатываемого оказывают на результат одинаковый эффект.
Несколько лучший результат получается при модификации фильтра с
увеличением веса центральной точки:
1 1 1 1
=
( 1 2 1)
10
1 1 1
Более эффективное шумоподавление можно осуществить, если влияние
𝑀2𝑙𝑜𝑤
пикселей на результат будет уменьшаться с увеличением расстояния от
обрабатываемого. Этим свойством обладает гауссовский фильтр с ядром:
ℎ(𝑖, 𝑗) = (
1
2𝜋𝜎
)exp(−(
2
𝑖 2 +𝑗 2
2𝜎 2
). Гауссовский фильтр имеет ненулевое ядро
бесконечного размера. Однако значения ядра фильтра очень быстро убывает
к нулю при удалении от точки (0, 0), и потому на практике можно
ограничиться сверткой с окном небольшого размера вокруг (0, 0), например,
взяв радиус окна равным 3σ.
Гауссовская фильтрация также является сглаживающей. Однако, в
отличие от прямоугольного фильтра, образом точки при гауссовой
фильтрации будет симметричное размытое пятно, с убыванием яркости от
середины к краям. Степень размытия изображений определяются параметром
σ. [1]
Контрастоповышающие фильтры. Если сглаживающие фильтры
снижают
локальную
контрастность
изображения,
размывая
его,
то
контрастоповышающие фильтры производят обратный эффект и, по
существу, являются фильтрами высоких пространственных частот. Ядро
контрастоповышающего фильтра в точке (0, 0) имеет значение, большее 1,
при общей сумме значений, равной 1. Например, контрастоповышающими
фильтрами являются фильтры с ядром, задаваемым матрицами:
𝑀1𝑐𝑜𝑛𝑡𝑟
0
= (−1
0
−1 0
−1 −1
𝑐𝑜𝑛𝑡𝑟
= (−1 9
5 −1) 𝑀2
−1 0
−1 −1
−1
−1)
−1
12
Рис. 1. Применения контрастоповышающего фильтра.
Пример применения фильтра 𝑀1𝑐𝑜𝑛𝑡𝑟 приведен на рис. 1. Эффект
повышения контраста достигается за счет того, что фильтр подчеркивает
разницу
между
интенсивностями
соседних
пикселей,
удаляя
эти
интенсивности друг от друга. Этот эффект будет тем сильней, чем больше
значение центрального члена ядра. Характерным артефактом линейной
контрастоповышающей фильтрации являются заметные светлые и менее
заметные темные ореолы вокруг границ. [5]
Разностные
фильтры –
это
линейные
фильтры,
задаваемые
дискретными аппроксимациями дифференциальных операторов (по методу
конечных разностей). Данные фильтры играют важнейшую роль во многих
приложениях, например, для задач поиска границ на изображении.
Простейшим
дифференциальным
производной по x-координате
𝑑
𝑑𝑥
оператором
является
взятие
, который определен для непрерывных
функций. Распространенными вариантами аналогичных операторов для
дискретных изображений являются фильтры Прюита (Prewitt) и Собеля
(Sobel):
𝑝𝑟𝑒𝑤𝑖𝑡𝑡
𝑀1
−1
= (−1
−1
0 1
−1 0
1
𝑠𝑜𝑏𝑒𝑙
= (−2 0
0 1) 𝑀1
4
0 1
−1 0
1
2)
1
Фильтры, приближающие оператор производной по y-координате
𝑑
𝑑𝑥
,
получаются путем транспонирования матриц.
13
Простейший алгоритм вычисления нормы градиента по трем смежным
точкам:
𝐺(𝑥, 𝑦) = √(𝐴𝑥+1,𝑦 − 𝐴𝑥,𝑦 )2 + (𝐴𝑥,𝑦+1 − 𝐴𝑥,𝑦 )2
Применяется также упрощенная формула вычислений:
𝐺(𝑥, 𝑦) ≅ |𝐴𝑥+1,𝑦 − 𝐴𝑥,𝑦 | + |𝐴𝑥,𝑦+1 − 𝐴𝑥,𝑦 |
Вычисление нормы градиента по четырем смежным точкам (оператор
Робертса):
𝐺(𝑥 , 𝑦) = √(𝐴𝑥+1,𝑦+1 − 𝐴𝑥,𝑦 )2 + (𝐴𝑥+1,𝑦 − 𝐴𝑥,𝑦+1 )2
𝐺(𝑥, 𝑦) ≅ |𝐴𝑥+1,𝑦+1 − 𝐴𝑥,𝑦 + |𝐴𝑥+1,𝑦 − 𝐴𝑥,𝑦+1 ||
В алгоритме Собеля используется восемь отсчетов яркости в
окрестностях центральной точки:
𝐺(𝑥, 𝑦) = √𝐺𝑥𝑥,𝑦 2 + 𝐺𝑦𝑥,𝑦 2 , 𝐺(𝑥, 𝑦) ≅ |𝐺𝑥𝑥,𝑦 + 𝐺𝑦𝑥,𝑦 |,
𝐺𝑥𝑥,𝑦= [𝐴𝑥−1,𝑦−1+2𝐴𝑥−1,𝑦+𝐴𝑥−1,𝑦+1]−[𝐴𝑥+1,𝑦−1+2𝐴𝑥+1,𝑦+𝐴𝑥+1,𝑦+1] ,
𝐺𝑦𝑥,𝑦= [𝐴𝑥−1,𝑦−1+2𝐴𝑥,𝑦−1+𝐴𝑥,𝑦−1]−[𝐴𝑥−1,𝑦+1+2𝐴𝑥+1,𝑦+1+𝐴𝑥+1,𝑦+1] .
Наряду с более точным определением нормы градиента алгоритм
Собеля позволяет определять и направление вектора градиента в плоскости
анализа изображения в виде угла  между вектором градиента и
направлением строк матрицы:
𝜑(𝑥, 𝑦) = tan−1 (
𝐺𝑦𝑥,𝑦
𝐺𝑥𝑥,𝑦
).
В отличие от сглаживающих и контрастоповышающих фильтров, не
меняющих среднюю интенсивность изображения, в результате применения
разностных операторов получается, как правило, изображение со средним
значением пикселя близким к нулю. Вертикальным перепадам (границам)
исходного изображения соответствуют пиксели с большими по модулю
14
значениями на результирующем изображении. Поэтому разностные фильтры
называют также фильтрами выделения границы объектов. [3]
Аналогично вышеприведенным фильтрам, по методу конечных
разностей можно составить фильтры для других дифференциальных
операторов.
В
частности,
важный
для
многих
дифференциальный оператор Лапласа (лапласиан) Δ =
приложений
𝜕2
𝜕2
𝜕𝑥
𝜕𝑦 2
+
2
можно
приблизить для дискретных изображений фильтром с матрицей (один из
вариантов):
0
𝑀Δ = (1
0
1 0
−4 1)
1 0
Рис. 2. Применение оператора Лапласа.
Как видно на рис. 2, в результате применения дискретного лапласиана
большие по модулю значения соответствуют как вертикальным, так и
горизонтальным перепадам яркости. Фильтр является, таким образом,
фильтром, находящим границы любой ориентации. Нахождение границ на
изображении может производиться путем применения этого фильтра и взятия
всех пикселей, модуль значения которых превосходит некоторый порог. [1]
Однако такой алгоритм имеет существенные недостатки. Главный из
них - неопределенность в выборе величины порога. Для разных частей
изображения приемлемый результат обычно получается при существенно
15
разных пороговых значениях. Кроме того, разностные фильтры очень
чувствительны к шумам изображения. [5]
Двумерная циклическая свертка. Как и для одномерных сигналов,
двумерная свертка может выполняться в области пространственных частот с
использованием
алгоритмов
быстрого
преобразования
Фурье
и
перемножением двумерных спектров изображения и ядра фильтра. Она
также является циклической, и выполняется обычно в скользящем варианте.
С учетом цикличности, для вычисления постоянного шаблона спектра ядра
размеры маски фильтра ядра удваиваются по осям и дополняются нулями, и
эти же размеры маски используются для выделения скользящего по
изображению окна, в пределах которого и выполняется БПФ. Реализация
КИХ фильтра с помощью БПФ особенно эффективна, если фильтр имеет
большую опорную область.
Нелинейные фильтры. В цифровой обработке изображений широко
применяются нелинейные алгоритмы на основе ранговой статистики для
восстановления изображений, поврежденных различными моделями шумов.
Они позволяют избежать дополнительного искажения изображения при
удалении шума, а также значительно улучшить результаты работы фильтров
на изображениях с высокой степенью зашумленности. [4]
Введем понятие M-окрестности элемента изображения A(x, y), который
является для этой окрестности центральным. В простейшем случае Mокрестность содержит N-пикселей – точки, попадающие в маску фильтра,
включая (или не включая) центральный. Значения этих N-элементов можно
расположит в вариационном ряду V(r), ранжированном по возрастанию (или
убыванию), и вычислить определенные моменты этого ряда, например,
среднее значение яркости mN и дисперсии dN. Вычисление выходного
значения фильтра, которым заменяется центральный отсчет, выполняется по
формуле:
𝐵(𝑥, 𝑦) = 𝛼𝐴(𝑥, 𝑦) + (1 − 𝛼)𝑚𝑁 .
16
Значение коэффициента     связывается определенной
зависимостью со статистикой отсчетов в окне фильтра, например:
𝛼=
𝑑𝑁
(𝑑𝑁 + 𝑘 𝑑𝑠 )
где dS – дисперсия шумов по изображению в целом или по S-окрестности при
S > M и MS, k - константа доверия дисперсии S-окрестностей. Как следует
из этой формулы, при k=1 и dN  dS имеет место   0.5, а значение 𝐵(𝑥, 𝑦) =
(𝐴(𝑥,𝑦)+𝑚𝑁 )
2
, т.е. складываются в равной степени от значений центрального
отсчета и среднего значения пикселей его M-окрестности. При увеличении
значений
dN происходит
увеличение
вклада
в
результат
значения
центрального отсчета, при уменьшении – значения mN. Весомость вклада
средних
значений
по
M-окрестности
можно
изменять
значением
коэффициента k.
Выбор статистической функции и характер зависимости от нее
коэффициента  может быть достаточно многообразным (например, по
дисперсиям разностей отсчетов в М-окрестности с центральным отсчетом), и
зависит как от размеров апертуры фильтра, так и от характера изображений и
шумов. По существу, значение коэффициента  должно задавать степень
поврежденности
центрального
отсчета
и,
соответственно,
функцию
заимствования для его исправления отсчетов из М-окрестности.
Наиболее простыми и распространенными типами нелинейных
фильтров для обработки изображений являются пороговые и медианные
фильтры. [7]
Пороговая фильтрация задается, например, следующим образом:
𝐵(𝑥, 𝑦) = {
𝐴(𝑥, 𝑦), 𝐴(𝑥, 𝑦) − 𝑚𝑁 ≤ 𝑝
𝑚𝑁 , 𝐴(𝑥, 𝑦) − 𝑚𝑛 > 𝑝
Величина p является порогом фильтрации. Если величина центральной
точки фильтра превышает среднее значение отсчетов mN в ее М-окрестности
на величину порога, то она заменяется средним значением. Значение порога
17
может быть как константой, так и функционально зависимым от величины
центральной точки.
Медианная фильтрация определяется следующим образом:
𝐵(𝑥, 𝑦) = 𝑚𝑒𝑑{𝑀(𝑥, 𝑦)},
т.е. результат фильтрации есть медианное значение пикселей окрестности,
форма которой определяется маской фильтра. Медианная фильтрация
способна
эффективно
удалять
из
изображения
помехи,
независимо
воздействующие на отдельные пиксели. Например, такими помехами
являются "битые" пиксели при цифровой съемке, "снеговой" шум, когда
часть пикселей заменяется на пиксели с максимальной интенсивностью, и
т.п. Преимущество медианной фильтрации заключается в том, что "горячий"
пиксель на темном фоне будет заменен темным, а не "размазан" по
окрестности.
Медианная фильтрация обладает выраженной избирательностью по
отношению к элементам массива, представляющим собой немонотонную
составляющую последовательности чисел в пределах апертуры фильтра. В то
же время монотонную составляющую последовательности медианный
фильтр оставляет без изменений. Благодаря этой особенности, медианные
фильтры при оптимально выбранной апертуре сохраняют без искажений
резкие
границы
объектов,
подавляя
некоррелированные
или
слабо
коррелированные помехи и малоразмерные детали.
Фильтры экстремумов определяются по правилам:
𝐵𝑚𝑖𝑛 (𝑥, 𝑦) = min{𝑀(𝑥, 𝑦)},
𝐵𝑚𝑎𝑥 (𝑥, 𝑦) = max{𝑀(𝑥, 𝑦)},
т.е. результат фильтрации есть минимальное и максимальное значения
пикселей в маске фильтра. Применяются такие фильтры, как правило, для
бинарных изображений. [8]
18
Глава II. Обработка изображений на основе матричных фильтров
1.
Матрица свёртки
Матрица
свёртки
–
это
матрица
коэффициентов,
которая
«умножается» на значение пикселей изображения для получения требуемого
результата.
Ниже представлено применение матрицы свёртки:
0,5 0,75 0,5
12 14 41
(43 84 24) × (0,75 1,0 0,75)
0,5 0,75 0,5
2
1 43
12 ∗ 0,5 + 14 ∗ 0,75 + 41 ∗ 0,5 +
1
= (43 ∗ 0,75 + 84 ∗ 1,0 + 24 ∗ 0,75 +) ×
= 32,41667
𝑑𝑖𝑣
2 ∗ 0,5 + 1 ∗ 0,75 + 43 ∗ 0,5
div = 6
div – это коэффициент нормирования, для того чтобы средняя
интенсивность
оставалась
не
изменой.
В примере матрица имеет размер 3x3, хотя размер может быть и больше. [1]
19
2.
Фильтр размытия
Наиболее часто используемым фильтром, основанным на матрице
свёртки,
является
фильтр
размытия.
Обычно матрица заполняется по нормальному. Ниже приведена матрица
размытия 5x5 заполненная по закону Гауссовского распределения.
0,000789
0,006581
0,013347
0,006581
0,000789
0,006581
0,054901
0,111345
0,054901
0,006581
0,13347
0,111345
0,225821
0,111345
0,013347
0,006581
0,054901
0,111345
0,054901
0,006581
0,000789
0,006581
0,013347
0,006581
0,000789
𝑑𝑖𝑣 = 1
От
Рис
размера
3.
матрицы
Применение
зависит
сила
фильтра
размытия.
размытия.
Стоит упомянуть о граничных условиях (эта проблема актуальна для всех
матричных фильтров). У верхнего левого пикселя не существует «соседа» с
права от него, следовательно, нам не на что умножать коэффициент матрицы.
[6]
Рис. 4. Отсутствие «соседа» у верхнего левого пикселя.
20
Существует
2
решения
этой
проблемы:
1. Применение фильтра, только к «окну» изображения, которое имеет
координаты левого верхнего угла [kernelSize / 2, kernelSize / 2], а для правого
нижнего [width — kernelSize / 2, height — kernelSize / 2]. kernelSize – размер
матрицы;
Рис.
5.
width,
–
height
Фильтрация
размер
только
по
изображения.
«окну»
[6]
изображения.
Это не лучший способ, так как фильтр не применяется ко всему
изображению. Качество при этом довольно сильно страдает, если размер
фильтра
2.
Второй
велик.
метод
(дополнение)
требует
создания
промежуточного
изображения. Идея в том, чтобы создавать временное изображение с
размерами (width + 2 * kernelSize / 2, height + 2 * kernelSize / 2). В центр
изображения копируется входная картинка, а края заполняются крайними
пикселями изображения. Размытие применяется к промежуточному буферу, а
потом
из
него
извлекается
результат.
Рис. 6. Создание промежуточного изображения.
21
Данный метод не имеет недостатков в качестве, но необходимо производить
лишние вычисления. [6]
22
3.
Фильтр размытия по Гауссу
Фильтр размытия по Гауссу имеет сложность O(hi * wi * n *n), где hi,
wi – размеры изображения, n – размер матрицы (ядра фильтра). Данный
алгоритм
Квадратное
можно
ядро
оптимизировать
(матрицу)
можно
с
приемлемым
заменить
двумя
качеством.
одномерными:
горизонтальным и вертикальным. Для размера ядра 5 они будут иметь вид:
0,028087
0,23431
0,475207
0,23431
0,028087
Фильтр применяется в 2 прохода: сначала горизонтальный, а потом к
результату
вертикальный
(или
на
оборот).
Сложность данного алгоритма будет O(hi * wi * n) + O(hi * wi * n) = 2 * O(hi
* wi * n), что для размера ядра больше двух, быстрее, чем традиционный
метод с квадратной матрицей. [9]
23
4.
Фильтр улучшения чёткости
Для улучшения четкости необходимо использовать следующую
матрицу:
−1 −1 1
(−1 9 −1)
−1 −1 −1
Эта матрица увеличивает разницу значений на границах.
𝑑𝑖𝑣 = 1
Рис.
7.
Применение
фильтра
улучшения
четкости
изображения.
В программе GIMP есть фильтр «Матрица свёртки», который упрощает
поиск
необходимого
Вам
матричного
преобразования.
[9]
Рис. 8. Пример из программы GIMP.
24
5.
Медианный фильтр
Медианный фильтр обычно используется для уменьшения шума или
«сглаживания» изображения.
Рис.
9.
Применение
медианного
фильтра.
Фильтр работает с матрицами различного размера, но в отличие от матрицы
свёртки, размер матрицы влияет только на количество рассматриваемых
пикселей.
Алгоритм
Для
текущего
медианного
пикселя,
фильтра
пиксели,
которые
следующий:
«попадают»
в
матрицу,
сортируются, и выбирается средние значение из отсортированного массива.
Это
значение
и
является
выходным
для
текущего
пикселя.
Ниже представлена работа медианного фильтра для размера ядра равного
трём. [4]
3
3
43
3
34
4
3 43 34
4
5
6
5 сортировка
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
→ 6 − результат
(4 5
6 )→
6
21
3 21 103
34
3
43
21
(103)
(103)
25
6.
Фильтры эрозия и наращивание
Фильтры
наращивание
и
эрозия
служат
для
получения
морфологического расширения или сужения соответственно. Проще говоря,
для изображений это значит выбор пикселя с максимальной или
минимальной
интенсивностью
из
окрестности.
Рис. 10. Применение фильтров эрозия и наращивание при обработке.
В результате наращивания происходит увеличение ярких объектов, а эрозии
–
увеличение
тёмных
объектов.
Фильтр использует входное изображение и бинарную матрицу. Бинарная
матрица определяет форму окрестности. Обычно окрестность имеет круглую
форму.
0 0 1 0 0
0 1 1 1 0
1 1 1 1 1
0 1 1 1 0
(0 0 1 0 0)
Фильтр наращивание может быть использован для увеличения бликов, ярких
отражений. [3]
26
Заключение
Подходя к завершению данной работы, удалось рассмотреть основные
определения
обработки
изображения,
которые
были
ключевыми
в
последующих главах.
Большой акцент был сделан на
основные моменты фильтрации
изображения. Удалось познакомиться
с каждым видом фильтрации
подробно, какие применять формулу по данному виду фильтрации и
наглядно рассмотреть каждый из них.
Основное же внимание удалось уделить подробному изложению
матричных фильтров обработки изображения. Почти к каждому фильтру
привелась вычислительная матрица и результат ее преобразования.
В частности, удалось обратить внимание цветовым моделям, которые,
не просто полезны в цифровой обработке изображений, но дают абсолютно
необходимый инструмент для дальнейшего изучения вопросов, связанных с
обработкой цветных изображений. Акцент на цветовые модели, которые, не
просто полезны в цифровой обработке изображений, но дают абсолютно
необходимый инструмент для дальнейшего изучения вопросов, связанных с
обработкой цветных изображений.
Существуют многочисленные способы прямой обработки цветовых
векторов, которые включают такие операции как медианная фильтрация,
адаптивная фильтрации, морфологическая фильтрация, восстановление,
сжатие и многие другие. Эти операции не эквивалентны цветовой обработке,
выполняемой отдельно для каждой компоненты цветного изображения.
Цветное изображение может быть стандартным образом преобразовано
из одного цветового пространства в другое, имеют важные последствия в
задаче уменьшения шума на таких изображениях.
Представленный
материал
введения
в
обработку
цветных
изображений, и круг рассматриваемых вопросов был выбран таким образом,
чтобы выработать в твердое понимание основ тех методов, которые
используются в этой области обработки изображений.
27
В ходе написания данной работы поставленная цель была достигнута,
было осуществлено знакомство с обработкой изображения, ее основными
характеристиками
и
матричными
фильтрами,
благодаря
проанализированному материалу литературе. Также для реализации нашей
цели удалось выполнить поставленные задачи, а именно определить методы
фильтрации
изображения,
подробно
их
изучить
и
ознакомиться
матричными фильтрами обработки изображения, которые описались
с
с
применением на конкретных заданных значениях.
28
Список используемой литературы
1.
Гельмут К. Энциклопедия по печатным средствам информации. -
М.: МГУП, 2003 г.
2.
Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М:
Техносфера, 2005 г.
3.
Гуров А.А., Порфирьева Н.Н. Обработка изображений на ЭВМ
методами линейной фильтрации // Труды ГОИ им. С.И. Вавилова. – Л, 1982
г. – Вып. 185. – С. 33–50.
4.
Ким В., Ярославский Л.П. Ранговые алгоритмы обработки
изображений // Адаптивные методы обработки изображений. - М.: Наука,
1988. – С. 35 – 73.
5.
Павлидис
Т. Алгоритмы
машинной
графики
и
обработки
изображений. - М.: Радио и связь, 1986 г. – 400 с.
6.
Практический курс Adobe Photoshop 4.0 [Электронный ресурс].
КУбК-А, 1997 г.
7.
Прэтт У. Цифровая обработка изображений – М.: Мир, 1982 г. –
8.
Феличи Джеймс. Типографика: шрифт, верстка, дизайн. - П:
790 с.
BHV, 2004 г.
9.
Шлезингер
М.И. Математические
средства
обработки
изображений. - К.: Наукова думка, 1989. – 200 с.
10.
Шлихт Г.Ю. Цифровая обработка цветных изображений. - М.,
Издательство ЭКОМ, 1997. – 336 с.
29
Download