Линейная фильтрация в пространственной области

Материал из Техническое зрение
Перейти к: навигация, поиск

Содержание

Линейная оконная фильтрация

Линейная оконная фильтрация изображений в пространственной области заключается в вычислении $\textit{линейной комбинации}$ значений яркости пикселов в окне фильтрации с коэффициентами матрицы весов фильтра, называемой также $\textit{маской}$ или $\textit{ядром}$ линейного фильтра.

Рассмотрим вычисление такой линейной комбинации на примере окна фильтрации размером $3\times 3$. При этом маска фильтра представляется матрицей вида

$\textrm{Mask} [-1,-1]$ $\textrm{Mask} [0,-1]$ $\textrm{Mask} [1,-1]$
$\textrm{Mask} [-1,0]$ $\textrm{Mask} [0,0]$ $\textrm{Mask} [1,0]$
$\textrm{Mask} [-1,1]$ $\textrm{Mask} [0,1]$ $\textrm{Mask} [1,1]$,

а соответствующий фрагмент изображения с центральным пикселом Im$[x,y]$, к которому на текущем шаге применяется данный фильтр, имеет вид:

$\textrm{Im} [x-1,y-1] $ $ \textrm{Im} [x,y-1] $ $ \textrm{Im} [x+1,y-1]$
$\textrm{Im} [x-1,y] $ $ \textrm{Im} [x,y] $ $ \textrm{Im} [x+1,y]$
$\textrm{Im} [x-1,y+1] $ $ \textrm{Im} [x,y+1] $ $ \textrm{Im} [x+1,y+1]$.

Результат линейной фильтрации для данного окна (для данного центрального пиксела) описывается следующей простой формулой:

$$ \begin{gather} \tag{1} \mbox{Im}'[x,y] = \sum\limits_{i= -\textrm{hWinX}}^{\textrm{hWinX}}~\sum\limits_{j= -\textrm{hWinY}}^{\textrm{hWinY}} {\mbox{Im}[x+i,~y+j]\cdot \mbox{Mask}[x+i,~y+j]}, \end{gather} $$

где $\mbox{hWinX} = [\mbox{WinX}/2]$, $\mbox{hWinY} = [\mbox{WinY}/2]$ - полуширина и полувысота окна фильтрации соответственно (в случае окна $3\times 3$ обе величины равны 1).

Результат применения операции (1) ко всем пикселам изображения Im$[x,y]$ называется $\it{сверткой}$ изображения Im с маской Mask.

Скользящее среднее в окне.

Простейшим видом линейной оконной фильтрации в пространственной области является \it{скользящее среднее} в окне. Результатом такой фильтрации является значение математического ожидания, вычисленное по всем пикселам окна. Математически это эквивалентно свертке с маской, все элементы которой равны $1/n$, где $n$ - число элементов маски. Например, маска скользящего среднего размера $3\times 3$ имеет вид

$$ \frac{1}{9}\times \begin{vmatrix} 1&1&1\cr 1&1&1\cr 1&1&1 \end{vmatrix}. $$

Рассмотрим пример фильтрации зашумленного полутонового изображения фильтром "скользяшее среднее". Изображения зашумлены гауссовским аддитивным шумом (рис. 2 - 8).

На рис. 1 - 6 приводятся примеры фильтрации полутонового изображения с различными степенями зашумления средним фильтром с размером окна $3\times 3$. Как видно из примера, фильтр "скользящее среднее" обладает меньшей способностью к подавлению шумовой компоненты по сравнению с ранее рассмотренным медианным фильтром $3\times 3$.


Рассмотрим скользящее среднее с большими размерами окна фильтрации. На рис. 23 - 28 приводится пример медианной фильтрации с различными размерами апертуры.

Как видно из рис. - 12, с увеличением размера окна растет способность медианного фильтра подавлять шумовую компоненту. Однако при этом нарастает и эффект кажущейся "расфокусировки" изображения (рис. 11, 12) за счет размытия краев видимых объектов. Этого специфически присущего линейным фильтрам эффекта размытия мы также не наблюдали в случае нелинейной ранговой фильтрации.

3-3-1.jpg 3-3-2.jpg
Слабая степень зашумления Результат фильтрации исходного изображения средним avr $3\times 3$
3-3-3.jpg 3-3-4.jpg
Средняя степень зашумления Результат фильтрации исходного изображения avr $3\times 3$
3-3-5.jpg 3-3-6.jpg
Сильная степень зашумления Результат фильтрации исходного изображения avr $3\times $3
3-3-7.jpg 3-3-8.jpg
Зашумленное изображение Результат средней линейной фильтрации avr $5\times 5$
3-3-9.jpg 3-3-10.jpg
Результат средней линейной фильтрации avr $7\times 7$ Результат средней линейной фильтрации avr $9\times 9$
3-3-11.jpg 3-3-12.jpg
Результат средней линейной фильтрации avr $15\times 15$ Результат средней линейной фильтрации avr $31\times 31$

Гауссовская фильтрация.

В предыдущем разделе мы рассмотрели "вырожденный" случай линейной фильтрации с однородной маской. Между тем, сама идея свертки изображения с весовой матрицей аналогична ранее рассмотренной идее введения весовой матрицы во взвешенных процентильных фильтрах. Повысить устойчивость результатов фильтрации на краях областей можно, если придать более близким точкам окрестности большее влияние на окончательный результат, чем дальним. Примером реализации этой идеи для окна размера $3\times 3$ является маска

$$ \frac{1}{16}\times \begin{vmatrix} 1&2&1\cr 2&4&2\cr 1&2&1 \end{vmatrix}. $$


Такая маска называется гауссовой; соответственно, и использующий ее линейный фильтр также называется $\it{гауссовым}$. Используя дискретные приближения двумерной гауссовой функции, можно получить и другие гауссовы ядра большего размера. Обратите внимание на то, что $\it{сглаживающие}$ или $\it{фильтрующие}$ маски линейных фильтров должны иметь сумму всех элементов, равную $1$. Данное $\it{условие нормировки}$ гарантирует адекватный отклик фильтра на постоянный сигнал (постоянное изображение Im$[x,y] = \const$).

На рис. 13 - 15 приведен пример гауссовой линейной фильтрации зашумленного изображения.

3-3-13.jpg 3-3-14.jpg 3-3-15.jpg
Зашумленное изображение Результат гауссовой линейной фильтрации gauss $3\times 3$ Результат гауссовой линейной фильтрации gauss $5\times 5$

Полезные ссылки

  1. ☝ К началу
  2. ☜ Линейная фильтрация изображений в пространственной и частотной области
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты