5.4. Нелинейный фильтр
| 5. Фильтры усиления |

### 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) и возможно фильтр усиления края. Несколько применений фильтра оптимального расчёта сглаживания при уменьшающихся значениях `альфа` более эффективно, чем одно применение с большим значением `альфа`. То есть, существует баланс между эффективностью фильтра и потерей деталей.

5.3. Удаление пятен |  | 5.5. Удаление штрихов