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

GIMP: обзор классических апскейпов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.3K

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

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

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

Апскейп изображения в 4 раза с помощью "Размер изображения" и фильтром интерполяции "кубическая" (обрезана центральная часть результата):

Апскейп кубической интерполяцией
Апскейп кубической интерполяцией

Апскейп изображения в 4 раза с помощью "Размер изображения" и фильтром интерполяции "без гало" (в нём используется доп. фильтрация краевого эффекта гало):

Апскейп интерполяцией "без гало"
Апскейп интерполяцией "без гало"

И на этом всё. Больше ничего не предлагается. Но! достаточно полистать брошюрку Масленникова Андря Леонидовича "Методы вычислений" и... Что то не так. Интерполяционных методов гораздо больше, нежели простая кубическая интерполяция, или интерполяция с подавлением краевого эффекта гало.

А где всё остальное? А про остальное молчок. Попробуем исправить ситуацию.

В GIMP: изменение размера изображения сплайнами Акима рассмотрено применение сплайнов Акимы для интерполяции в виде плагина GIMP. Что же такого особенного в этих сплайнах? Да ничего, просто они гораздо более соответствуют исходному изображению и в них не наблюдается таких несвойственных исходному изображению эффектов, как гало:

Апскейп интерполяцией сплайнами Акимы
Апскейп интерполяцией сплайнами Акимы

И вот мы видим расширение списка применяемых интерполяций для апсейпа. На этом всё? Нет, не всё. Помимо списка интерполяций существуют методы целочисленного апскейпа (увеличение производится в целое число раз: 2, 3, 4).

Одним из старейших плагинов GIMP, использующих целочисленный апскейп, является "Gimp Pixel Art Scalers Plugin". И хотя данный плагин предназначен для пиксель-арта, отдельно взятый метод (XBR) можно применить и на полноцветном изображении:

Апскейп методом XBR
Апскейп методом XBR

Следующий плагин GIMP предназначен уже для полноцветных изображений: "Gimp Reverse Interpolate Scale (RIS) Plugin". Этот плагин имеет те же основы, что и GIMP: изменение размера изображения с соблюдением правил RIS, но за счёт целочисленного апскейпа использует не префильтрацию, а инфильтрацию. То есть фильтрация "дефекта" происходит в самом процессе масштабирования. Зачем? Потому что это позволяет избежать промежуточного округления: округление происходит только на стадии формирования изображения:

Апскейп методом HRIS
Апскейп методом HRIS

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

Но вернёмся к статье "GIMP: изменение размера изображения с соблюдением правил RIS". В ней описывается метод и SCM-скрипт для GIMP именно для произвольного масштабирования. Этот скрипт использует префильтрацию, что позволяет производить произвольное масштабирование и использовать все интерполянты GIMP. Да, происходит промежуточное округление, но давайте глянем результат.

Апскейп SCM-скриптом с интерполяцией "кубическая":

Апскейп кубической интерполяцией с соблюдением RIS
Апскейп кубической интерполяцией с соблюдением RIS

Апскейп SCM-скриптом с интерполяцией "без гало":

Апскейп интерполяцией "без гало" с соблюдением RIS
Апскейп интерполяцией "без гало" с соблюдением RIS

Как видим изображения получаются менее размытыми и никаких дефектов от промежуточного округления не наблюдается.

Данный обзор показывает, что существующие в сети описания апскейпа в GIMP сильно ущербны и даже не близки к полноценному описанию классических методов апскейпа.

Теги:
Хабы:
0
Комментарии18

Публикации

Ближайшие события