Множество подходов к улучшению изображений распадается на две категории: методы обработки в пространственной области (пространственные методы) и методы обработки в частотной области (частотные методы). К пространственной области относится совокупность пикселей, составляющих изображение. Функция предварительной обработки в пространственной области записывается в виде
, (1.11)
где f (x, y) – входное изображение,
g (x, y) – выходное (обработанное) изображение,
h – оператор функции f, определенный в некоторой области (x, y).
Операции такого вида относятся к общему классу операций над соседними элементами. Эти операции являются основным инструментарием при низкоуровневой обработке изображений или обработке изображений в пространственной области.
Основным подходом при определении окрестности точки (x, y) является использование квадратной или прямоугольной области части изображения с центром в точке (x, y). Центр этой части изображения перемещается от пикселя к пикселю начиная, например, с левого верхнего угла. При этом для получения g (x, y) оператор применяется для каждого положения (x, y). Хотя используются иногда и другие формы окрестности (например, круг), квадратные формы более предпочтительны из-за простоты их реализации.
|
|
Один из наиболее применяемых методов пространственной области основан на использовании фильтров (масок свертки, шаблонов, окон). Обычно маска фильтра представляет собой небольшую (например, размерность 3*3) двумерную систему, коэффициенты которой выбираются таким образом, чтобы обнаружить заданное свойство изображения (рис. 1.5, а).
а | б |
Рис. 1.5: а – маска фильтра; б – коэффициенты маски фильтра
Если величины w 1, w 2,…, w 9 представляют собой коэффициенты, маски пикселя (x, y) и его восьми соседей (рис.1.5, б), то алгоритм можно представить как выполнение следующей операции на окрестности 3*3 точки (x, y):
1.12
Под задачей фильтрации изображений в широком смысле понимают любые процедуры обработки изображений, при которых на вход процедуры подается растровое изображение и на выходе формируется растровое изображение. Однако чаще под «фильтрацией» понимают так называемую помеховую фильтрацию. Главная цель помеховой фильтрации заключается в такой обработке изображений, при которой результат оказывается более подходящим с точки зрения конкретного применения. В общем случае можно выделить линейные фильтры (сглаживающие фильтры, контрастоповышающие фильтры, разностные фильтры) и нелинейные фильтры (медианный фильтр).
Приведем краткое описание наиболее распространенных методов фильтрации.
|
|
Низкочастотный фильтр – ослабляет высокочастотные компоненты и усиливает роль низкочастотных. Частота в применении к изображениям отражает количество имеющихся в изображении деталей. Резкие перепады яркости, помехи и шумы являются примером высокочастотных элементов в изображении. Сглаживание изображения реализуется с помощью следующих ядер:
, | , | . | (1.13) |
Высокочастотный фильтр – ослабляет низкочастотные компоненты в изображении и усиливает роль высокочастотных. Фильтры высокой частоты применяются для выделения таких деталей, как контуры, границы или для повышения резкости изображения. Каждый скачок яркости и каждый контур представляют собой интенсивные детали, связанные с повышенными частотами. Выделение высокочастотных компонент осуществляется с помощью следующих ядер:
, | , | . | (1.14) |
Оператор Робертса. Оператор Робертса является примером нелинейного фильтра. Преобразование каждого пикселя перекрёстным оператором Робертса может показать производную изображения вдоль ненулевой диагонали, и комбинация этих преобразованных изображений может также рассматриваться как градиент от двух верхних пикселов к двум нижним. Оператор Робертса используется ради быстроты вычислений, но проигрывает в сравнении с альтернативами из-за значительной проблемы чувствительности к шуму. Он даёт линии тоньше, чем другие методы выделения границ.
В обработке участвуют четыре пикселя, расположенные следующим образом (рис. 1.6).
Рис. 1.6. Пиксели, участвующие в обработке оператором Робертса
Отклик оператора Робертса:
. (1.15)
Ядра свертки в данном случае будут выглядеть таким образом:
, | . | (1.16) |
Свертка для каждого ядра вычисляется отдельно. В качестве отклика данного фильтра выступает величина
, (1.17)
где P и Q – отклик ядер H 1 и H 2.
Иногда в качестве оператора Робертса берется величина .
Оператор Собеля. Оператор Собеля применяют в алгоритмах выделения границ. Это дискретный дифференциальный оператор, вычисляющий приближенное значение градиента яркости изображения. Результатом применения оператора Собеля в каждой точке изображения является либо вектор градиента яркости в этой точке, либо его норма. Метод усиления края с помощью оператора Собеля рассматривает два различных ядра свертки:
(1.18) |
Исходя из этих сверток вычисляется величина и направление краев. Свертка для каждого ядра вычисляется отдельно. В качестве отклика данного фильтра выступает величина
, (1.19)
где P и Q – отклик ядер H 1 и H 2.
Иногда в качестве оператора Собеля берется величина .
Оператор Превитта. Аналогично оператору Собеля действует оператор Превитта. Детектор границ Превитта является подходящим способом для оценки величины и ориентации границы. В то время как детектор с дифференциальным градиентом нуждается в трудоёмком вычислении оценки ориентации по величинам в вертикальном и горизонтальном направлениях, детектор границ Превитта даёт направление прямо из ядра с максимальным результатом. Метод усиления края с помощью оператора Превитта рассматривает два различных ядра свертки:
(1.20) |
Результат работы оператора Превитта есть
, (1.21)
где P и Q – отклик ядер H 1 и H 2.
Оператор Лапласа. Дискретный оператор Лапласа часто используется в обработке изображений, например в задаче выделения границ или в приложениях оценки движения. Дискретный лапласиан определяется как сумма вторых производных и вычисляется как сумма перепадов на соседях центрального пикселя. Метод усиления края по Лапласу рассматривает целый ряд различных ядер свертки. Приведем некоторые их них:
|
|
(1.22) |
Как видно, сумма элементов матриц равна нулю, поэтому отклик фильтра может быть отрицательным. В этом случае значение отклика берется по модулю. В результате обработки области с постоянной или линейно возрастающей интенсивностью становятся черными, а области быстро изменяющихся значений интенсивности ярко высвечиваются.
Ниже приведем некоторые пространственные процессы, которые не подпадают под категорию свертки и могут применяться для устранения различного вида шума.
Фильтр «гармоническое среднее». Гармоническое среднее ряда вычисляется по формуле
. (1.23)
В процессе фильтрации значение текущего пикселя изображения заменяется на множества значений девяти пикселей, включая текущий и соседние.
Min – фильтр. В процессе фильтрации значение текущего пикселя заменяется на минимальное значение соседних пикселей. Так, например, для ядра размерности 3 будем иметь:
Max – фильтр. В процессе фильтрации значение текущего пикселя заменяется на максимальное значение соседних пикселей (по аналогии с предыдущим фильтром).
Min-Max–фильтр. В процессе фильтрации значение текущего пикселя изображения сначала заменяется на минимальное значение соседних пикселей, а при повторном проходе на максимальное.
Медианный фильтр. Усредненное фильтрование использует значения элементов, содержащихся в области примыкания, для определения нового значения. Фильтр располагает элементы области примыкания в отсортированном порядке и отбирает среднее значение. Так, например, для ядра размерности 3 медианное значение будет пятым:
С помощью методов пространственной обработки изображений можно получить ряд интересных эффектов. Приведем некоторые из них.
Эффект тиснения. С помощью операции свертки можно реализовать преобразование, дающее эффект тиснения на изображении.
(1.24)
Бинарное «псевдополутоновое» изображение. Исходное изображение обрабатывается при помощи маски D2 или D4: если значение пикселя меньше пропорционального значения соответствующего ему элемента маски, то он обнуляется, иначе ему присваивается 255. Маска накладывается на изображение без перекрытия. Маски D2 и D4:
|
|
, | . | (1.25) |
При использовании пространственных процессов могут возникнуть следующие вопросы, связанные с особенностями обработки пикселей:
1. Устранение краевых эффектов;
2. Значение отклика выходит за пределы [0,…,255].
Для первого вопроса возможны следующие пути решения:
· Исключить из преобразования граничные пиксели изображения
в этом случае выходное изображение будет иметь меньшие размеры, либо закрасить граничные пиксели, например черным цветом;
· Не включать соответствующий пиксель в суммирование, равномерно распределив его вес среди других пикселей окрестности;
· Дополнить (достроить) исходное изображение, добавив необходимое количество пикселей по границе. Количество достраиваемых строки столбцов, как правило, зависит от размера ядра. Здесь возможны два варианта:
o Доопределить значения пикселей за границами изображения при помощи экстраполяции. Например, считать постоянным значение интенсивности вблизи границы или считать постоянным градиент интенсивности вблизи границы;
o Доопределить значения пикселей за границами изображения при помощи зеркального отражения.
Для решения проблем, связанных с выходом значения за пределы [0,…,255], возможны следующие действия:
· Масштабировать полученные значения при положительных откликах фильтра;
· При отрицательном отклике фильтра брать либо абсолютное значение (по модулю), либо приводить к нулю.
Также в данном разделе стоит привести возможную «классификацию» шума на изображении:
1. Шум «соль и перец» – случайные белые и черные пиксели;
2. Импульсный шум – случайные белые пиксели;
3. Гауссов шум – колебания интенсивности, распределенные по нормальному закону.