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

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

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

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

Исходное изображение

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

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


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

This is something of a swiss army knife filter. It has 3 distinct operating modes. In all of the modes each pixel in the image is examined and processed according to it and its surrounding pixels values. Rather than using 9 pixels in a 3×3 block, it uses a hexagonal block whose size can be set with the Radius option.

4.11.2. Activating the Filter

This filter is found in the image window menu under FiltersEnhanceNL Filter….

The filter does not work if the active layer has an alpha channel. Then the menu entry is disabled.

4.11.3. Параметры

Рисунок 17.50. Параметры фильтра «Нелинейный фильтр»

Параметры фильтра «Нелинейный фильтр»

Просмотр

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

Фильтр

Рабочий режим описан ниже.

Альфа-канал

Определяет степень применения фильтра. Допустимые значения от 0,0 до 1,0. Точное значение этого параметра зависит от рабочего режима. Этот параметр сравним с параметром альфа в приложении pnmnlfilt.

Радиус

Controls the size of the effective sampling region around each pixel. The range of this value is 0.33-1.00, where 0.33 means just the pixel itself (and thus the filter will have no effect), and 1.00 means all pixels in the 3×3 grid are sampled.

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

Этот фильтр может выполнить несколько разных функций:

Альфа-усечённое среднее

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

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

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

Оптимальный расчет

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

Усиление края

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

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

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

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