
Общее положение о фильтрации изображения
Для
начала введём один специальный термин:
апертура
фильтра – это
размер окна (части изображения), с
которым фильтр работает непосредственно
в данный момент времени; окно это
постепенно передвигается по изображению
слева направо и сверху вниз на один
пиксель. Фильтр может быть рекурсивным
и не рекурсивным, это зависит от его
реализации. Рекурсивный фильтр на
каждом следующем шаге работает с окном,
состоящим не только из элементов
исходного изображения, но и из элементов,
ранее подвергнувшихся преобразованию,
– своего рода «принцип
снежного кома».
Не рекурсивный фильтр работает только
с элементами исходного изображения.
Кроме того, заметим, что если речь идёт
об окне, представляющем собой строку
элементов изображения
то такое преобразование называется
одномерным;
соответственно, существует и двумерное
преобразование :
Медианный фильтр
Медианный фильтр – нелинейный алгоритм фильтрации. Основным его преимуществом является то, что при эффективном сглаживании импульсного высокочастотного шума он сохраняют резкие перепады. Его основным недостатком является то, что он может приводить к полной потере мелких деталей при неправильном выборе апертуры.Алгоритм фильтрации основывается на нахождении медианы. Медиана – средний элемент в вариационном ряду, полученном из данных, находящихся в пределах апертуры. Найденное значение присваивается среднему элементу апертуры. В программе используется двумерный медианный фильтр с размером апертуры (3х3). Выбор такой апертуры обусловлен тем, что символы достаточно мелкие и уже при апертуре (5х5) сильно размываются.Для фиксированной малой апертуры можно использовать какой-либо вырожденный (частный) вариант сортировки, построенный на операторах условия.Медианный фильтр обычно применяют несколько раз до тех пор, пока на профильтрованном изображении не прекратятся какие-либо изменения.
Фильтрация
Для начала введём один специальный термин: апертура фильтра – это размер окна (части изображения), с которым фильтр работает непосредственно в данный момент времени; окно это постепенно передвигается по изображению слева направо и сверху вниз на один пиксель. Фильтр может быть рекурсивным и нерекурсивным, это зависит от его реализации. Рекурсивный фильтр на каждом следующем шаге работает с окном, состоящим не только из элементов исходного изображения, но и из элементов, ранее подвергнувшихся преобразованию, – своего рода «принцип снежного кома». Нерекурсивный фильтр работает только с элементами исходного изображения. Кроме того, заметим, что если речь идёт об окне, представляющем собой строку элементов изображения то такое преобразование называется одномерным; соответственно, существует и двумерное преобразование .
Шумоподавляющая фильтрация
Ниже будут рассмотрены фильтры подавления шумов. При их использовании может использоваться введенное ранее понятие апертуры фильтра.Фильтры шумоподавления могут работать как с общим уровнем яркости пикселя, так и с уровнями насыщенности для каждого цветового канала. При рассмотрении примеров фильтрации необходимо учитывать, что в примерах под действие фильтра могут не попадать крайние элементы изображения, поэтому при искусственном зашумлении их лучше преднамеренно не зашумлять, либо обрабатывать каким-то образом частный случай крайних точек
Сглаживающий фильтр основывается на следующем принципе: находится среднее арифметическое значение всех элементов рабочего окна изображения (отдельно по каждому из каналов).После чего это среднее значение становится значением среднего элемента (речь идёт о нечётной апертуре фильтра; для двумерного случая средним элементом будет средний элемент по горизонтали и вертикали, то есть центр квадрата).
Осреднение скользящим окномв целом схоже со сглаживающим фильтром:находится среднее арифметическое значение всех элементов рабочего окна изображения (отдельно по каждому из каналов).После чего это среднее значение становится значением среднего элемента (речь идёт о нечётной апертуре фильтра; для двумерного случая средним элементом будет средний элемент по горизонтали и вертикали, то есть центр квадрата).Различия между ними будут в способе движения апертуры фильтра. Скользящее окно, в отличие от обычного, при достижении границы изображения не возвращается в начало, а начинает двигаться в обратную сторону. Т.е. схема движения будет иметь следующий вид:
Гауссовский
фильтр -
наиболее широко используемый
шумоподавляющий фильтр. Он применяется
для удаления шума не только самостоятельно,
но и при разработках многих алгоритмов
детекторов границ. Этот фильтр имеет
следующую маску 3х3:
Эта
маска последовательно применяется ко
всем точкам исходного изображения с
делением результата на сумму всех 9
множителей для получения единичного
коэффициента передачи, чтобы процедура
подавления шума не вызывала смещения
средней яркости обработанного
изображения. Такая операция называется
сверткой изображения с маской.Следует
отметить, что гауссовский фильтр дает
несколько меньшееразмывание контура,
чем усредняющий. Выглядит гауссовский
фильтр примерно так:
Медианный фильтр основывается на нахождении медианы – среднего элемента (но не среднего арифметического) последовательности в результате её упорядочения по возрастанию/убыванию и присваиванию найденного значения толькосреднему элементу (речь снова о нечётной апертуре). Например, для той же апертуры 3 и двумерного фильтра (как в примере выше) мы должны упорядочить 9 точек (например, по возрастанию), после чего значение 5й точки упорядоченной последовательности отправить в центр окна фильтра (3х3). Для упорядочения можно использовать любой из известных методов сортировки .Для фиксированной малой апертуры можно использовать какой-либо вырожденный (частный) вариант сортировки, построенный на операторах условия.
Взвешенный
медианный фильтр выборочно
включает некоторые пиксели (обычно
центральные) в упорядоченный список
несколько раз или придает пикселю
дополнительный вес, величина которого
зависит от расстояния до центральной
точки. Фильтр, который дает центральному
пикселю более высокий вес лучше сохраняет
углы, но имеет меньший эффект сглаживания.
Кроме того, алгоритм, который дает
одинаковый вес пикселям, находящимся
на равном расстоянии от центрального,
не учитывает особенности изображения,
что может затруднить обработку линейных
деталей изображения. Этот фильтр имеет
следующую маску 3х3:
В
остальном действие взвешенного
медианного фильтра схоже с действием
простого медианного – необходимо найти
медианное значение из упорядоченного
списка, которое, затем, присваивается
в центральный пиксель окна фильтра.
Сигма-фильтр
усредняет
значения только тех соседних пикселей,
чьи значения находятся в пределах
от значения центрального пикселя в
окне. Где c – некоторая константа, а
–дисперсия
значений яркости или насыщенности
цветовых каналов, которая определяется
один раз для всего изображения. Этот
метод стремится осреднять пиксель
только с теми соседями, которые имеют
значения, близкие к нему, по сравнению
со среднеквадратичным отклонением
шума по изображению. В этом фильтре
опорным служит центральный пиксель в
окне, поэтому такой фильтр не сможет
устранить импульсный шум. Выглядит
сигма-фильтр примерно так:
Направленный
фильтр работает
с квадратной маской, чаще всего 3х3, но
могут применяться и бо́льшие по размеру
матрицы. Применение масок больших, чем
3х3, дает больший выбор угла, под которым
находится граница. Направленный фильтр
сглаживает изображение в направлении,
параллельном предполагаемой границы.Чаще
всего применяются следующие маски
3х3:
Осреднение скользящим окном с использованием весовых коэффициентов для значений соседних пикселов.Данный фильтр использует скользящее окно, описанное ранее. Отличаться данный фильтр от обычного осреднения скользящим окном будет тем, что он использует другую маску, в которой соседним пикселям могут придаваться весовые коэффициенты, отличные от 1. Маска для данного фильтра подбирается исходя из априорных сведений о содержащемся на изображении шуме.
Ранговая фильтрация с оценкой середины диапазона. Новое значение яркости или насыщенности цветовых каналов центрального в окне пикселя устанавливается равным середине между максимальным и минимальными значениями яркости или насыщенности его соседей. Выглядит это примерно так:
Оператор К ближайших соседейпроводит осреднение только по k ближайшим по величине соседям центрального значения из упорядоченного списка. Значение k обычно устанавливается таким (5 или 6 для маски 3x3), что углы и тонкие линии сильно разрушаются. Это делается не специально, но меньшие значения будут плохо бороться с шумом.
Операторальфаусеченныхсреднихберет
среднее значение из остающихся
значений
в упорядоченном списке, если первые и
последние элементы в списке (первоначально
содержащем n значений) отброшены. Это
то же, что и оператор k ближайших соседей
при
Поэтому для определения среднего
значения
можно
будет воспользоваться той же функцией,
по которой было определено Kближайших
соседей (см. оператор К ближайших
соседей).
Модифицированный
обрезающий фильтр использует
для осреднения только те из соседних
пикселей, чьи значения находятся в
пределах
от значения центрального в упорядоченном
списке. Этот метод представляет собой
нечто среднее фильтром «
усеченных средних» и «сигма-фильтром».
С одной стороны, как и в «сигма-фильтре»,
усредняются пиксели, имеющие значения,
которые отличаются не более, чем на
,
но не от центрального пикселя в окне,
а от медианного значения выборки, как
и в фильтре α усеченных средних. С другой
стороны, от фильтра «
усеченных средних» модифицированный
отличается тем, что количество усредняемых
пикселей не задано жестко, а определяется
свойствами изображения (его дисперсией).