Как стать автором
Обновить

GIMP: изменение размера изображения с соблюдением правил RIS

Уровень сложностиПростой

Любое изменение размеров изображений с использованием различных интерполяций является необратимым. Это связано с тем, что при интерполяции происходит смешение цветов. Назовём это «дефектом» интерполяционного масштабирования. Этот «дефект» всегда получает негативную (а иногда крайне негативную) оценку со стороны пользователей.

Правила RIS (Reverse Interpolate Scale) рассматривают методы и методики минимизации, либо полного устранения (если это возможно) данного «дефекта» для некоторых видов масштабирования. К этим видам относится апскейп, потому как при довнскейпе происходит не только смешивание цветов, но и потеря графической информации.

В GIMP все методы масштабирования интерполяционные. То есть, независимо от выбираемого фильтра интерполяции, правила и методики RIS актуальны.

Рассмотрим применение базовой методики RIS на изображении «Лена» (512×512) по шагам. Ставим задачу увеличить его до 3500×3500.

1-й шаг: «Дефект»

На данном шаге мы получаем «дефект» в копии исходного слоя. Для этого создаём эту самую копию в списке слоёв. Применяем к новому слою «Слой» → «Размер слоя» → 3500×3500. Интерполяционный фильтр (linear, cubic, nohalo,...) выбираем тот, который больше нравится. После этого возвращаем слой к исходному размеру: «Слой» → «Размер слоя» → 512×512.

В результате таких действий в новом слое получаем изображение очень похожее на исходное, но отличающееся на малый «дефект». Этот «дефект» можно посмотреть, ежели установить режим наложения у нового слоя «Разница». Для удобства данное действие назовём «фильтром», а само изображение в новом слое — «фильтрованным».

2-й шаг: «Обращение»

На данном шаге обращаем «дефект» на противоположный. То есть величина «дефекта» остаётся прежней, а знак меняется.

Для этого создаём ещё 2 копии исходного слоя и размещаем их в следующем порядке: копия, «фильтрованное», копия. И назначаем этим трём слоям режимы наложения соответственно: «Умножить», «Делить», «Нормальный». Оставим видимыми только эти три слоя и объединим их: «Объединить видимые слои» в контекстном меню слоёв.

Эта комбинация даст изображение с противоположным «дефектом», назовём его «компенсированным».

P.S.: Визуально увидеть разницу между исходным, «фильтрованным» и «компенсированным» изображениями будет трудно, в силу малости «дефекта», поэтому ежели вы хотите увидеть эффект обращения визуально, то вместо «фильтра» надо использовать какой либо иной сильный фильтр, например «Гауссово размывание» с размером 10×10.

3-ий шаг: «Масштабирование»

На данном шаге применяется изменение размера ко всему изображению (к двум слоям: исходному и «компенсированному») с применением того же интерполяционного фильтра, что и на первом шаге: «Изображение» → «Размер изображения» → 3500×3500.

После масштабирования слой с исходным изображением будет содержать «дефект» масштабирования. Слой же с «компенсированным» изображением будет содержать лишь остаточную часть «дефекта» масштабирования, которая как минимум на порядок меньше исходного «дефекта». Это обуславливается тем, что «компенсированное» изображение незначительно отличается от исходного и «дефект», возникающий в нём при масштабировании, почти что равен исходному. А так как «компенсированное» изображение содержит обратный «дефект», то суммарный «дефект» обнуляется, за исключением небольшой остаточной доли.

Эпилог

На этом действие завершено. Изменение размера выполнено. Правило RIS выполнено.

Далее остаётся только включая/выключая слои визуально сравнивать результаты обычного масштабирования и с соблюдением правил RIS.

применение RIS для апскейпа "Лена" (512ч512)
применение RIS для апскейпа "Лена" (512ч512)

Ссылки по методам RIS:

Запрос на организацию сценария (SCM):

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.