Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_OOI.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.29 Mб
Скачать

Imfilter(I,h);

где параметр h определяет вид окна фильтра.

Например, если фильтр имеет прямоугольное окно размером 3 х 3 точки с одинаковыми значениями hkl в пределах окна, то

h = ones(3,3) / 9;

Фильтрация изображения может преследовать различные цели.

Например, если изображение зашумлено белым шумом (а белый шум имеет широкий спектр), то для уменьшения степени зашумленности изображение можно подвергнуть НЧ фильтрации.

Ниже приведены три используемые на практике разновидности окон НЧ фильтров, часто называемых шумоподавляющими масками:

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

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

Определить произвольную маску фильтра можно следующим образом:

>> h = [1, 2, 3; 3, 4, 5; 6, 7, 8]

h = 1 2 3

3 4 5

6 7 8

Ниже приведен пример НЧ фильтрации зашумленного изображения “оконным” фильтром с прямоугольным окном размером 3х3 элемента.

Пример:

clear;

close all;

I = imread('eight.tif');

J = imnoise(I,'gaussian');

figure, imshow(J)

title('Зашумленное изображение');

h = ones(3,3) / 9;

J2 = imfilter(J,h);

figure, imshow(J2), title('Изображение на выходе фильтра')

Медианная фильтрация.

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

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

Процедуру медианной фильтрации можно пояснить на следующем примере с использованием одномерной выборки данных. Пусть наблюдается некоторая выборка, элемент x3 которой явно искажен импульсной помехой.

Переупорядочим эту выборку (переставим ее элементы) от наименьшего до наибольшего и в качестве выходного значения возьмем медианное значение выборки (в данном случае - это x4).

x1, x2, x3, x4, x5 x1, x2, x4, x5, x3 x1, x2, x4, x4, x5

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

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

На следующем рисунке показаны два примера наиболее часто применяемых вариантов окон в виде креста и в виде квадрата. Форма и размеры апертуры являются параметрами фильтра, и определяются в процессе анализа эффективности алгоритма.

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

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

Полученное таким образом число и является результатом фильтрации для текущей точки изображения.

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

Процедура медианной фильтрации в Image Processing Toolbox среды MATLAB выполняется с использованием команды

B = medfilt2(A,[m n]), или B = medfilt2(A).

Простейшая команда B = medfilt2(A) означает применение к изображению двумерного медианного фильтра размером 3 х 3.

Команда B = medfilt2(A,[m n]) означает применение к изображению двумерного медианного фильтра произвольного размера m х n.

Ниже приведен пример фильтрации импульсной помехи на изображении с использованием двумерного медианного фильтра с прямоугольным окном размера 3 х 3.

Пример:

I = imread('eight.tif');

J = imnoise(I,'salt & pepper',0.02);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]