GIMP: понижение шума по маске

Применение простых, не зависящих от версии GIMP, или установленных плагинов средств для понижения шума типа "Соль и перец" без повреждения важных контуров.
«любитель»

Применение простых, не зависящих от версии GIMP, или установленных плагинов средств для понижения шума типа "Соль и перец" без повреждения важных контуров.
В «GIMP: изменение размера изображения с соблюдением правил RIS» был рассмотрен рецепт масштабирования изображений с устранением «дефекта» (размытия смешением цветов). Но в основном дело приходится иметь с изображениями, полученными из сети. То есть изображения получаем «как есть». Они могут быть многократно масштабированы каким то образом и без соблюдения каких то правил.
Можно ли использовать ту же концепцию, что заложена в RIS, для постфильтрации изображения?
Попробуем. Попытаемся угадать метод интерполяции и масштабный фактор, применённый к изображению. «Угадав» эти характеристики, можно провести обратное масштабирование, после отмасштабировать к размеру исходного слоя и использовать наложения «GIMP: реверс фильтров» для обращения «дефекта».
А как «угадать» то характеристики?
Угадывать метод интерполяции особой нужды нет. Для изображений в сети вероятность кубической интерполяции близка к единице.
Для угадывания масштабного фактора могла бы помочь утилита resdet. Но её сборок под Windows я не видел, а альтернатив не знаю. Возможно существуют онлайн сервисы для определения/оценки исходных размеров масштабированных изображений.
Реализация?
Чтобы не производить муторные однотипные операции к скрипту «resize‑ris.scm» был добавлен скрипт «ris‑undefect.scm» в последнем релизе «gimp‑plugin‑resize‑ris 0.20 250 518». После копирования данного файла в папку со скриптами GIMP, в меню «Изображения» → «Преобразования» рядом с пунктом «Resize RIS» появится пункт «RIS undefect».
Для тестирования будем традиционно использовать изображение «Лена».

В практике обработки изображений часто встают задачи различных выравниваний цветовых компонент этих самых изображений. И в первую очередь это касается яркостной составляющей изображений. К этим задачам относится такой фильтр как Retinex. Этот фильтр хорошо выравнивает яркостную составляющую изображения, но беспощадно искажает соотношение цветовых составляющих - картинка становится "кислотной".
Для нужд STEX (ScanTailor-Experimental) была поставлена задача разработки фильтра, производящего выравнивание яркостной составляющей, но щадящей цвет. Это необходимо для вытягивания слабовыраженных контуров, не поддающихся отрисовке ни одним из имеющихся в STEX порогов без доп. префильтрации с сохранением гармоничности цветных иллюстраций.
Данный фильтр разрабатывался в GIMP и был реализован в STEX для яркостной компоненты, а позднее в виде CLI утилиты stbibalance на базе STB в полноцветовом исполнении.

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

К классическим методам апскейпа (увеличения) относятся методы, основанные на различных интерполяциях исходного изображения и фильтров, также не выходящих за рамки классических. Есть неклассические методы: нейросетевые (к исходному изображению добавляется память обученной нейросети и по этой смеси генерируется увеличенное изображение), или основанные на самоподобии (производится затратный поиск самоподобия, результат добавляется к исходному изображению и по этой смеси генерируется увеличенное изображение) методы. Но в данной статье будут рассмотрены только простые классические методы.
Во всех публикациях в сети по апскейпу в GIMP предлагается использование только встроенного средства "Размер изображения". А в большинстве указывается применение только фильтра "кубическая" для интерполяции. Продемонстрируем:

В данной статье будет изложено проектирование "сложного" порога в GIMP. "Сложность" заключается в том, что к порогу изначально предъявлялись строго определённые характеристики.
Здесь уже никак не обойтись без указания продукта, для которого проектировался порог, и причин таких строгих требований.

В GIMP: префильтрация перед порогом было рассказано, как используется префильтрация перед порогом и насколько сильно она оказывает влияние на результат порога. Также было указано, что возможно воспроизведение пороговых карт (TM) локальных порогов с помощью стандартных фильтров GIMP. И также было указано, что пороговые карты можно использовать для нормировки изображения в виде префильтра для более гибкого использования этих пороговых карт.
В данной статье будет показано воспроизведение (неточное) пороговой карты локального порога Niblack и использование её для нормировки исходного изображения.