Krombacher (krom6axep) wrote,
Krombacher
krom6axep

"Правильно" делаем ресайз!

Очень часто мы сталкиваемся с тем, что в момент изменения размеров нашего изображения, появляются "артефакты" сжатия, чаше всего выражающиеся в виде "лестничного" эффекта. Тут я (вот делать нефига мне!) задался целью найти более качественный метод такого преобразования.

Берем исходник.

исходная

исходная обработка

Был получен следующим путем:
ImageSize (бикубическая интерполяция, я полагаю) + Smart Sharpen с параметрами Amount 50%, Radius 0.5 px... (обработка - ynd)

Но данное изображение все-таки содержит некоторого рода "артефакты" сжатия. Попробуем придумать что-то получше...



исходная с пометками

Выделим наиболее показательные артефакты

И продолжим работу основываясь на данных областях, одновременно не забывая, про области, где мы не должны при этом потерять ни текстуру, ни резкость изображения.

Замена белым

Метод "замены белым"

При уменьшении размеров методом простой бикубической интерполяции мы ощутимо теряем резкость мелких деталей, а при методе резкой бикубической интерполяции возникает эффект ступенчатости. Суть данного метода состоит в том, чтобы использовать нечто "среднее" и взять положительное от обоих этих методов. Делаем поочередно на одном и том же изображении ресайз до необходимого размера методом простой бикубической интерполяции, а затем, сохранив результат в другом документе и вернув размер фото в первоначальное положение, делаем ресайз методом точной бикубической интерполяции и размещаем в том же документе, что и предыдущий ресайз, только на другом слое. Убедившись, что "слой с нормальной интерполяцией" находится поверх второго, изменяем его вид наложения на "замена светлым". Вот в принципе и все... необходимо иметь ввиду, что данный метод может успешно применяться не всегда, но в большинстве случаев вполне себя оправдывает. Мы долучили изображение сходное и изображением "источника", но, заметьте. что отмеченные нами "проблемные места" проработаны несколько лучше.

Метод ступенчатого уменьшения

Метод "ступенчатого уменьшения размеров"

Если же вам необходимо намного более высокое качество ресайза, то придется потрудиться посильнее и использовать метод, условно называемый "ступенчатым уменьшением". Я решил проверить насколько может иметь смысл данный метод и оказалось, что он дает, правда, при определенной сноровке и затраченном времени, очень хорошие результаты. Итак, имеем изображение высокого разрешения с деталями. которые нам не хотелось бы потерять, а также дать возможность проявиться "артефактам". Мы должны поступить следующим образом: Постепенно, раз за разом, уменьшаем наше первоначальное изображение на ~10%, следя за тем, чтобы значение уменьшения величины длины и ширины СОВПАДАЛИ В ТОЧНОСТИ! Например, мы выставили уменьшение по высоте - 90% и видим, что (пропорционально уменьшеное значение ширины равно - 89,9%. В данном методе это недопустимо и нам необходимо найти, то значение, которое будет идентично! Обычно оно легко находиться в пределах +-1% (например, может составлять - 90,5% и по высоте и по ширине). Второй самой главной особенностью данного метода, является то, что в момент последовательных ресайзов необходимо ЧЕРЕДОВАТЬ метод простой и точной бикубической интерполяции и отслеживать постепенное изменение изображения в ту или иную сторону (но это уже ближе "к концу" процесса ресайза). Таким образом мы постепенно уменьшаем размер (~10% за каждую итерацию) до тех пор, пока не достигнем нужного размера. Результат должен получиться очень хорошим! Обратите внимание на то, что абсолютно ничего не потеряв в местах текстуры кожи и зон необходимой резкости мы практически полностью (даже при ближайшем рассмотрении) избавились от ступенчатого эффекта!

Всем удачной обработки! И не забывайте делиться мнениями и своими способами! =)

фото любезно предоставил тов.ynd
Tags: инфо
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments