5.4. Нелинейный фильтр

5.4.1. Общая информация

Рисунок 11.48. Пример применения нелинейного фильтра

Пример применения нелинейного фильтра

Оригинал

Пример применения нелинейного фильтра

Результат


Фильтр «Нелинейный фильтр» основан на приложении pnmnlfilt в операционной системе Unix. Он сочетает в себе сглаживание, удаление пятен и шума и увеличение резкости. Он работает над всем изображением, не над выделением.

У этого фильтра есть три режима работы. В каждом режиме фильтр работает над одной точкой и преобразует её в зависимости от её значения и значений окружающих точек. Фильтр делает 7 выборок по вершинам шестиугольника, вместо обычных 9-ти точек в области 3x3. Размер шестиугольника определяется параметром радиуса.

5.4.2. Активация фильтра

Этот фильтр находится в меню ФильтрыУсилитьНелинейный фильтр.

5.4.3. Параметры

Просмотр

При выборе Просмотр окно просмотра обновляется по мере изменения параметров.

Параметры

  • Альфа: Значение этого параметра зависит от других параметров.

  • Радиус: Определяет размер области работы фильтра. При значении 0,3333 шестиугольники рабочей области полностью помещаются в центральную точку, т.е. не будет эффекта фильтровки. При значении 1,0 7 шестиугольников помещаются в область 3x3 точек.

5.4.4. Режимы работы

Этот фильтр может исполнять три функции, в зависимости от значения параметра Альфа.

Альфа-усечённое среднее (Альфа от 0 до 0,5)

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

При альфа равном 0,5 фильтр заменяет значение точки на медиан семи шестиугольников. Это годится для удаления отдельных точек-выскочек и шума в одну точку, не распространяя шум и не смазывая деталей изображения. Аккуратное использование параметра радиуса улучшит работу фильтра. Промежуточные значения альфа дадут результат между сглажеванием и удалением точек-выскочек. Для незаметного преобразования лучше начать со значения альфа равном 0,4, и радиуса равном 0,6. Для более видимого эффекта, выберите альфа 0,5 и радиус 1,0.

Оптимальный расчёт сглаживания (альфа от 1,0 до 2,0)

Этот тип фильтра применяет фильтр сглаживания адаптивно по всему изображению. Для каждой точки высчитывется разброс значений точек окружающего шестиугольника, и применяется сглаживание, по силе обратно пропорциональное разбросу значений. Фильтр считает, что если разброс маленький, то это из-за шума, а если разброс большой, то это детали изображения. Радиус определяет размер рабочей области фильтра, но лучше держать его в диапазоне от 0,8 до 1,0, иначе разброс значений не будет иметь смысла. Альфа определяет шумовой порог, сверх которого сглаживания не будет. Можно начать со значений alpha = 1,2, radius = 1,0, с дальнейшим увеличением и уменьшением параметра альфа, чтобы получить нужный результат. Этот тип фильтра лучше всего подходит для удаления шума смешения.

Усиление края (альфа от -0,9 до -0,1)

Этот фильтр противоположный фильтру сглаживания. Он усиливает края. Параметра альфа определяет силу усиления, от незаметного (-0.1) до очевидного (-0.9). Радиус, как обычно, определяет рабочую область фильтра, но полезные значения находятся в диапазоне от 0,5 до 0,9. Начните со значений альфа = - 0.3 , радиус = 0.8 .

Смешанное применение

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

Чтобы уменьшить шум квантизации цвета (на пример, при преобразовании .gif файлов в 24-битные файлы), можно применить фильтр оптимального расчёта сглаживания (альфа 1,2, радиус 1,0), потом фильтр нахождения медиана (альфа 0,5, радиус 0,55) и возможно фильтр усиления края. Несколько применений фильтра оптимального расчёта сглаживания при уменьшающихся значениях альфа более эффективно, чем одно применение с большим значением альфа. То есть, существует баланс между эффективностью фильтра и потерей деталей.