Московский государственный университет имени М.В.Ломоносова
Опубликован: 23.04.2007 | Доступ: свободный | Студентов: 3280 / 442 | Оценка: 4.18 / 3.71 | Длительность: 17:54:00
ISBN: 978-5-9556-0098-7
Специальности: Программист
Лекция 8:

Фильтрация изображений

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Разностные фильтры

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

Простейшим дифференциальным оператором является взятие производной по x -координате \frac{\partial}{\partial x}. Данный оператор определен для непрерывных функций. Существует множество способов определить аналогичный оператор для дискретных изображений при помощи линейного фильтра. В частности, распространенными вариантами являются фильтры Прюита (Prewitt) и Собеля (Sobel).

Фильтр Прюита задается матрицей

M_1^{prewitt}= \frac{1}{3} \left( \begin{array}{ccc} 
-1 & 0 & 1 \\ 
-1 & 0 & 1 \\ 
-1 & 0 & 1 
\end{array} \right). ( 8.6)

Фильтр Собеля задается матрицей

M_1^{sobel}= \frac{1}{4} \left( \begin{array}{ccc} 
-1 & 0 & 1 \\ 
-2 & 0 & 2 \\ 
-1 & 0 & 1 
\end{array} \right). ( 8.7)

Фильтры, приближающие оператор производной по y -координате \frac{\partial}{\partial y}, получаются путем транспонирования матриц.

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



Рис. 8.4.

На верхнем рисунке - нахождение \frac{\partial}{\partial x} при помощи фильтра Собеля с ядром M_{sobel}, нижний - нахождение \frac{\partial}{\partial y} при помощи фильтра Собеля с ядром M_{sobel}^T. Серый цвет соответстует значению 0.

Аналогично вышеприведенным фильтрам, по методу конечных разностей можно составить фильтры для других дифференциальных операторов. В частности, важный для многих приложений дифференциальный оператор Лапласа ( лапласиан ) \Delta = \frac{{\partial}^2}{\partial x^2}+\frac{{\partial}^2}{\partial y^2} можно приблизить для дискретных изображений фильтром с матрицей (один из вариантов):

M_\Delta= \left( \begin{array}{ccc} 
0 & 1 & 0 \\ 
1 & -4 & 1 \\ 
0 & 1 & 0 \\
\end{array} \right). ( 8.8)

Как видно на рис. 8.5, в результате применения дискретного лапласиана большие по модулю значения соответствуют как вертикальным, так и горизонтальным перепадам яркости. M_\Delta является, таким образом, фильтром, находящим границы любой ориентации. Нахождение границ на изображении может производиться путем применения этого фильтра и взятия всех пикселей, модуль значения которых превосходит некоторый порог. Однако такой алгоритм имеет существенные недостатки. Главный из них - неопределенность в выборе величины порога. Для разных частей изображения приемлемый результат обычно получается при существенно разных пороговых значениях. Кроме того, разностные фильтры очень чувствительны к шумам изображения. Задача нахождения границ на изображении является, как мы видим, весьма непростой. Мы посвятим ей отдельную "Нахождение границ" .


Нахождение границ при помощи линейной фильтрации

Рис. 8.5. Нахождение границ при помощи линейной фильтрации

Вверху- исходное изображение, внизу - результат применения фильтра M_{\Delta}. Серый цвет соответстует значению 0

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

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >