Фильтр «Нелинейный фильтр» основан на приложении pnmnlfilt в операционной системе Unix. Он сочетает в себе сглаживание, удаление пятен и шума и увеличение резкости. Он работает над всем изображением, не над выделением.
У этого фильтра есть три режима работы. В каждом режиме фильтр работает над одной точкой и преобразует её в зависимости от её значения и значений окружающих точек. Фильтр делает 7 выборок по вершинам шестиугольника, вместо обычных 9-ти точек в области 3x3. Размер шестиугольника определяется параметром радиуса.
При выборе Просмотр окно просмотра обновляется по мере изменения параметров.
Альфа: Значение этого параметра зависит от других параметров.
Радиус: Определяет размер области работы фильтра. При значении 0,3333 шестиугольники рабочей области полностью помещаются в центральную точку, т.е. не будет эффекта фильтровки. При значении 1,0 7 шестиугольников помещаются в область 3x3 точек.
Этот фильтр может исполнять три функции, в зависимости от значения параметра Альфа.
Альфа
от 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) и возможно фильтр усиления
края. Несколько применений фильтра оптимального расчёта
сглаживания при уменьшающихся значениях
альфа
более эффективно, чем одно
применение с большим значением альфа
.
То есть, существует баланс между эффективностью фильтра и
потерей деталей.