При выполнении некоторых задач в GIMP проще обратить действие некоторого фильтра, чем искать фильтр с противоположным воздействием. Непосредственного механизма обращения нет, но косвенный есть. Это производится определённым наложением слоёв. При этом возникает условие, при соблюдении которого не происходит усечение (клиппинг) цветовых значений и операция имеет характер обратимой.
Операция обращения (реверс) действия фильтра производится с помощью наложения "Grain Extract" ("Извлечения зерна"). Это наложение работает как diff/patch двух слоёв, при условии, что эти слои отличаются не более чем на половину цветового диапазона (256/2 = 128 для 8-ми битных изображений).
Наложение "Извлечение зерна" можно выразить формулой:
где O - результат наложения, I - исходный слой, F - накладываемый слой.
В данной статье будет рассмотрено применение "Извлечение зерна" только для обращения действия фильтров. Это будет определять порядок наложения слоёв. В зависимости от порядка наложения diff/patch слоёв будет инвертироваться.
Для примеров в качестве исходного возьмём изображение "Лена".

Пример 1: Обращение размывания.
Создадим копию исходного слоя и применим к ней "Фильтры" -> "Размытие" -> "Гауссово размывание" с радиусами 25 и 25.

Применим к ещё одной копии исходного слоя режим наложения "Извлечение зерна" и наложим этот слой на размытый.

Применим к данной "разнице" режим наложения "Извлечение зерна" и наложим на ещё одну копию исходного слоя.

Итого для проведения операции обращения понадобилось 1 копия исходного слоя для фильтрации и 2 копии исходного слоя для наложений.
Пример 2: Обращение оператора Собеля.
Создадим копию исходного слоя и применим к ней "Фильтры" -> "Выделение края" -> "Оператор Собеля...".

Применим к ещё одной копии исходного слоя режим наложения "Извлечение зерна" и наложим этот слой на фильтрованный.

Применим к данной "разнице" режим наложения "Извлечение зерна" и наложим на ещё одну копию исходного слоя.

Этот метод хорошо работает для схожих изображений, чья разность не выходит за половину шкалы цветового диапазона. Для пикселей, нарушающих данное условие, будут наблюдаться усечения (станут либо слишком яркими, либо слишком тёмными).
Методика вполне рабочая, но очень не хватает режима наложения "Reverse" ("Обращение"), которое производило бы данную операцию более простым и без лишних усечений способом:
где O - результат наложения, I - исходный слой, F - накладываемый слой.
NightBlade74
Поздравляю! Вы изобрели Unsharp Mask!
zvezdochiot Автор
Да. Использовал именно его, как наиболее наглядный, известный и понятный пример. Других столь известных и узнаваемых примеров я не знаю.
NightBlade74
Ну, ок. Что делает нечеткая маска очень хорошо понятно довольно давно. Своеобразное название этот фильтр получил еще в доцифровую эпоху обработки фотографий, а сам эффект увеличения четкости краев использовался художниками ренессанса. Но вот остальные предлагаемы вами "реверсные" фильтры, для чего они вообще? Какое практическое применение? Вот второй пример, он что делает полезного? Чисто визуально я тут вижу пересвет по всей картинке, что, скорее всего, говорит о том, что алгоритм какой-то неправильный, это напрочь убило детали на шляпе и других светлых местах, а в тенях насыпало цветового шума. Боюсь представить, что произошло бы с более контрастным изображением.
zvezdochiot Автор
Реверс конкретно этого фильтра вряд ли будет иметь практическое применение. Всего лишь пример, с ярко выраженными последствиями.
Практическое применение? GIMP: изменение размера изображения с соблюдением правил RIS.
NightBlade74
Во-первых, хотелось бы видеть реальное применение этого метода, как минимум сравнение интерполяции с коррекцией с интерполяцией без коррекции.
Во-вторых, вы "компенсированное" изображение увеличиваете, что, собственно, опять вносит дефект (не считая предыдущих операций, которые тоже не бездефектные - округление, будь оно не ладно!). Понятно, что финальное изображение с "компенсацией" будет отличаться от изображения с простой интерполяцией, но насколько? С чем их сравнивать? Ну, если вообще визуально разница видна, а если не видна, то нафиг оно надо? Можно предложить здесь взять исходное изображение 3500х3500, уменьшить его, а потом уже апскейлить уменьшенное и смотреть, на разницу между двумя способами апскейла и исходным большим изображением, тогда хоть что-то понятно будет.
Кроме того, когда начинаете "массовые игры" с пикселями, то лучше переводить изображение в повышенное разрешение по диапазону, хотя бы до 16 бит на канал.
Но что-то мне подсказывает, что все эти пляски с бубном совершенно бессмысленны по сравнению с современными методами апскейла с использованием AI, да и раньше были интеллектуальные алгоритмы, борющиеся с размытием и "лестницами" на четких границах при увеличении разрешения.
zvezdochiot Автор
Разница видна визуально.
Статьи про GIMP, а не про что то другое.
NightBlade74
Где она видна? Что с чем сравнить и что увидеть?
В целом не понял смысл вашего высказывания. Но GIMP здесь только инструмент, алгоритму все равно где работать. Все эти операции можно и в Photoshop проделать.
zvezdochiot Автор
Сравнивать в GIMP. Отлючаешь/включаешь верхний слой.
GIMP здесь именно тот инструмент, для которого статьи и писались. А не всего лишь инструмент.
NightBlade74
Как сравнивать изображения, я хорошо знаю. Надо ЧТО сравнивать. Изображений для сравнения я не нашел, по вашим ссылкам их нет.
Ну хорошо, пусть статья будет исключительно про GIMP, хотя все эти подходы универсальны и работать будут где угодно, были бы в редакторе подходящие операции. Но я все равно не понимаю, почему вы написали тогда "Статьи про GIMP, а не про что то другое", это к чему было? Я не упоминал тогда другие программы.
zvezdochiot Автор
Правильно. Потому и сказано, что статьи для пользователей GIMP. Без него вы ничего и не найдёте.
К тому, что рассматривается именно GIMP и его возможности, а не что то другое. Про другое другие статьи, но не эти.