Уменьшение размеров фотографии без потери деталей
Каждый, кто когда-нибудь сохранял фотографии для Интернета, замечал такую неприятную мелочь: исходная фотография абсолютно резкая, а как только уменьшаем число пресловутых пикселей раз в десять, вся резкость сразу улетучивается. А ведь вроде бы всё должно быть наоборот – пережатая фотография должна быть полна всяких мелких деталей. Рассмотрим, почему так получается и как с этим бороться.
Казалось бы, если взять десятимегапиксельный пейзаж или портрет с нормальной резкостью и уменьшить его размер, скажем, до мегапикселя, то количество деталей должно сократиться незначительно, а из-за намного более сильного уменьшения числа пикселей относительная детализация должна только возрасти. Но не тут-то было. Как ни странно, изменение размеров изображения – не такая простая задача, как кажется на первый взгляд. И дело вовсе не в сложности реализации какого-либо алгоритма, вовсе нет. Сложность прежде всего в том, что невозможно такой универсальный алгоритм придумать в принципе.
Рассмотрим простейший пример – чёрно-белое изображение шахматной доски размером 8х8 пикселей. Нам необходимо уменьшить размер картинки до 4х4 пикселя. Что мы получим в итоге? В результате такого преобразования у нас будет вместо кучи деталей одна сплошная серая масса, и ничего с этим поделать нельзя. А ведь это лишь простейший случай уменьшения размеров в 2 раза!
Таким образом, «правильный» алгоритм ресайза невозможно придумать в принципе – в любом случае детали изображения будут теряться в значительной мере. Но есть способы и алгоритмы, которые позволяют получить нормальную детализацию уменьшенных снимков.
Ресайз в ACDSee
Самый простой и достаточно качественный способ уменьшить размер картинки – воспользоваться распространённой программой для просмотра изображений ACDSee. Рассмотрим, как можно это сделать в ACDSee 10.0.
Запускаем ACDSee и отрываем в программе нужную фотографию. После этого кликаем правой кнопкой мыши и выбираем в появившемся меню Edit -> Edit Mode (для русифицированной версии: Правка-> Режим редактирования). Перед нами появляется панель для редактирования изображения. Нажимаем на Resize (Изменить размер). Теперь мы меняем размер изображения: можно указать новый размер в пикселях, в процентах от оригинала и в сантиметрах или дюймах. При ресайзе фотографий обязательно убедитесь в том, что выставлен масштаб просмотра 100%, – это позволит контролировать конечный результат. В панели фильтра изменения размера должен быть выставлен алгоритм Lanczos – он показывает наилучшие результаты для большинства фотографий. Конечно, никто не запрещает экспериментировать – можно указать другой алгоритм ресайза, благо в ACDSee их немало.
Ступенчатый ресайз в Photoshop
Есть и более сложные способы ресайза фотографий, которые лучше сохраняют детали при ресайзе. Наиболее распространён последовательный, ступенчатый метод – каждый раз повышать резкость фотографии при уменьшении числа пикселей в четыре раза.
Рассмотрим этот алгоритм.
Шаг №1: Загрузка изображения и подготовка его к редактированию
- Запускаем Photoshop и открываем фотографию. Открываем вкладку Image -> Mode и отмечаем галочкой Lab Color вместо стандартного RGB.
Благодаря такому преобразованию изображения при повышении резкости не будут возникать цветовые ореолы на контрастных границах деталей.
Дело в том, что при представлении фотографии в режиме RGB за каждый пиксель изображения отвечают три числа: одно обозначает яркость красного, другое – яркость синего, третье – яркость зелёного цвета. То есть у нас есть как бы не одно изображение, а целых три. И увеличиваем резкость мы для каждого канала в отдельности – так уж устроен фильтр Unsharp Mask. При повышении резкости в RGB мы влияем не только на резкость, но и на цвет – ведь при увеличении чёткости фактически изменяется красный, синий и зелёный каналы в отдельности, и от этого возникают цветные ореолы.
А вот Lab Color – другое дело. В цветовом пространстве Lab изображение состоит из трёх каналов – два несут в себе информацию о цвете фотографии, а третий содержит информацию о яркости. И поэтому при повышении резкости только в канале яркости Lightness цветные ореолы не появятся.
- Делаем активным канал Lightness во вкладке Channels. Остальные каналы необходимо сделать видимыми для просмотра результата повышения резкости.
- Перед повышением резкости изменим размер изображения. Для этого открываем окно Image -> Image Size. В поле Width указываем учетверённое значение той ширины изображения (в пикселях), которую хотим получить в конечном счёте.
Шаг №2: Повышение резкости и уменьшение изображения
Для эффективного повышения резкости необходимо разобраться с принципом действия фильтра Unsharp Mask. Конечно же, можно было бы сразу записать конкретные настройки для этого фильтра, но это будет не всегда эффективно, а в некоторых случаях даже губительно для фотографии. Просто есть огромное количество факторов, влияющих на выбор тех или иных значений установок фильтра, – для каждой фотографии нужны индивидуальные настройки Unsharp Mask.
Итак, что же значит «резкое изображение»? Резкость – это чёткие границы между деталями. То есть если граница контрастная и чётко выражена, то картинка выглядит резкой. Именно на таком оптическом обмане и основано действие фильтра для повышения резкости Unsharp Mask – этот фильтр увеличивает локальный контраст на границе деталей, что выглядит как повышение резкости. И именно из-за увеличения локального контраста при злоупотреблении фильтром у предметов возникают неприятные белые окантовки.
Рассмотрим настройки фильтра Unsharp Mask. У фильтра есть три ползунка: Amount, Radius и Threshold. Amount влияет на силу воздействия фильтра, Radius – на ширину ореола, Threshold задаёт порог для действия фильтра Unsharp Mask. Порогу Threshold стоит уделить особое внимание. При нулевом значении для Threshold фильтр Unsharp Mask может подчёркивать шумы изображения и различные нежелательные детали изображения.
Теперь наконец приступим к обработке фотографии. Первым делом мы дублируем слой при помощи комбинации Ctrl+J. Далее делаем активным канал Lightness во вкладке Channels.
Первое повышение резкости
Приступаем к первому повышению резкости. Для этого выбираем Filter -> Sharpen -> Unsharp Mask. Значение Radius должно быть примерно от 0.8. При выставлении параметра Radius обращаем внимание на сюжетно важные детали (для портрета это будут глаза, для пейзажа – листва и камни) – фильтр должен подчёркивать нужные нам элементы. Если же Unsharp Mask не повышает резкость сюжетно важных деталей, это свидетельствует о необходимости увеличить Radius – такие действия даже позволяют слегка исправить промашку автофокуса, так как в некоторой мере при помощи Radius мы влияем на глубину резкости.
Второй важный параметр – Threshold. Его необходимо подобрать так, чтобы Unsharp Mask не подчёркивал шумы. Обычные значения при повышении резкости для Threshold – 6-8.
И третьим мы выставим Amount, влияющий на силу воздействия фильтра Unsharp Mask. Необходимые значения для Amount зависят от конкретных изображений и колеблются в очень широких пределах – то 70 до 180.
Далее уменьшаем фотографию при помощи Image -> Image size. В поле Width задаём 50 процентов и нажимаем OK.
Второе повышение резкости
Выбираем Filter -> Sharpen -> Unsharp Mask. Значение Radius должно быть в два раза меньше по сравнению с первичным повышением резкости. При выставлении параметра Radius снова обращаем внимание на сюжетно важные детали – фильтр их должен подчёркивать. Threshold оставляем неизменным, Amount немного уменьшаем. И опять фотографию делаем в 2 раза меньше при помощи Image -> Image size (в поле Width пишем 50 процентов и нажимаем OK).
Финальное повышение резкости
И теперь – последнее повышение резкости: Filter -> Sharpen -> Unsharp Mask, значение Radius – 0.2 или 0.3, Threshold делаем нулевым, Amount увеличиваем до необходимого значения.
Вот и всё. Остаётся только перевести изображение из Lab в RGB (Image -> Mode -> RGB Color) и сохранить уменьшенную фотографию. В результате применения такого ступенчатого ресайза улучшается контроль над шумами и появляется даже некоторый контроль над глубиной резкости по сравнению с однократным уменьшением фотографии до нужных размеров.