ресамплинг в photoshop какой лучше

Дополнительное кадрирование, изменение размера, ресамплинг

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

Инструкции по изменению размера фотографии см. в статье Размер и разрешение изображения.

Инструкции по кадрированию фотографий см. в статье Кадрирование и выравнивание фотографий.

Размеры изображения на экране и при выводе на печать

Размер изображения при просмотре на экране отличается от его размера при печати. Если вы представляете эти различия, вы сможете лучше понять, какие настройки следует изменить при изменении размера изображения.

Размер экрана

Разрешение экрана монитора — это количество пикселей, которое он может отобразить. Например, монитор с разрешением экрана 640 x 480 пикселей отображает 640 пикселей в ширину и 480 пикселей в высоту. Можно использовать несколько различных разрешений экрана, а физический размер экрана монитора обычно определяет доступные разрешения. Например, большие мониторы обычно отображают более высокое разрешение, чем маленькие, поскольку они имеют больше пикселей.

Чтобы узнать разрешение экрана, выберите Пуск > Панель управления > Экран > Свойства и просмотрите разрешение экрана (Windows) или выберите Параметры системы > Экраны и посмотрите список Разрешения (macOS).

Размер изображения на экране

Когда изображения появляются на экране, они имеют фиксированный размер в пикселях. Разрешение экрана определяет размер изображения на экране. Например, монитор с разрешением 640 x 480 отображает меньше пикселей, чем монитор с разрешением 1024 x 768. Поэтому размер каждого пикселя, отображаемого на экране с разрешением 640 x 480, больше, чем размер пикселя, отображаемого на экране с разрешением 1024 x 768.

Изображение размером 100 x 100 пикселей занимает примерно одну шестую площади экрана с разрешением 640 x 480 и всего одну десятую площади экрана с разрешением 1024 x 768. Поэтому на экране с разрешением 1024 x 768 пикселей изображение выглядит меньше, чем на экране с разрешением 640 x 480 пикселей.

Размер изображения при печати

Другие значения, используемые для изменения размера изображений — физический размер изображения при печати и разрешение — не применятся до печати изображения. Тогда физический размер изображения, разрешение и размеры в пикселях определяют объем данных в изображении и его качество при печати. Как правило, более высокое разрешение изображения позволяет выполнить печать в более высоком качестве. Дополнительную информацию о разрешении и физическом размере см. в следующих разделах.

Диалоговое окно «Размер изображения»

При использовании диалогового окна Размер изображения для изменения размера изображения (выберите Изображение > Размер изображения) могут измениться четыре параметра изображения:

Photoshop вычисляет физический размер, разрешение и размеры изображения в пикселях следующим образом:

Диалоговое окно Размер изображения позволяет изменить размер изображения двумя способами. Можно увеличить или уменьшить объем данных в изображении (ресамплинг). Также можно сохранить тот же объем данных в изображении (изменение размера без ресамплинга). При ресамплинге качество изображения может ухудшиться в некоторой степени. Возможно, придется выполнить дополнительную работу, например, использовать фильтр Контурная резкость, чтобы увеличить резкость изображения и компенсировать ресамплинг.

Совет: для сброса диалогового окна Изменить размер изображения к его исходному состоянию нажмите клавишу Alt (Windows) или Option (macOS). При нажатии этих клавиш кнопка «Отмена» изменяется на кнопку «Сброс».

Изменение размера и ресамплинг изображений

При изменении размера и ресамплинге изображения изменяется объем данных в этом файле. Для ресамплинга изображения убедитесь, что выбран параметр Ресамплинг в нижней части диалогового окна Размер изображения. По умолчанию ресамплинг включен.

Ресамплинг изменяет общее количество пикселей в изображении, которые отображаются как ширина и высота в пикселях в диалоговом окне Размер изображения. При увеличении количества пикселей в этой части диалогового окна (повышение разрешения) приложение добавляет данные к изображению. При уменьшении количества пикселей (понижение разрешения) приложение удаляет данные. При каждом удалении или добавлении данных к изображению качество изображения ухудшается в некоторой степени. Удаление данных из изображения обычно является предпочтительным по отношению к добавлению данных. Это связано с тем, что при повышении разрешения Photoshop приходится «угадывать», какие пиксели необходимо добавить. Эта процедура более сложна, чем «угадывание» пикселей для удаления при понижении разрешения. Для получения наилучших результатов рекомендуется брать для работы в Photoshop изображения с разрешением, необходимым для вывода. Иногда желаемые результаты можно получить изменением размера изображения без ресамплинга. Однако, если вы делаете ресамплинг изображения, делайте его только один раз.

При включении параметра Ресамплинг можно изменить любое значение в диалоговом окне Размер изображения: размеры в пикселях, физический размер или разрешение. Изменение одного значения влияет на другие. Размеры в пикселях изменяются в любом случае.

Вы не можете установить размер файла. Он изменяется при изменении общего объема данных в изображении (размер в пикселях). Обратите внимание на значение «Размер файла», прежде чем изменить любые другие значения в диалоговом окне. Информация о размере файла поможет понять, сколько данных удаляется или добавляется к изображению при ресамплинге. Например, если размер файла меняется с 250 кБ на 500 кБ, к изображению добавляется вдвое больше данных, что может привести к ухудшению изображения. Такие изображения могут выглядеть размытыми, неровными или зернистым.

Изменение размера изображения без ресамплинга

При изменении размера изображения без ресамплинга изменяется размер изображения без изменения объема данных в нем. Изменение размера без ресамплинга изменяет физический размер изображения без изменения размеров изображения в пикселях. Данные не добавляются и не удаляются из изображения. При снятии флажка или деактивации параметра Ресамплинг поля размеров в пикселях недоступны. Два значения, которые можно изменить — это физический размер (ширина и высота в размере документа) или разрешение (пикселей/дюйм). При изменении размера без ресамплинга можно установить физический размер или разрешение изображения. Чтобы сохранить общее количество пикселей в изображении, Photoshop компенсирует измененное значение увеличением или уменьшением другого значения. Например, при установке физического размера, Photoshop меняет разрешение.

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

Например, изображение размером 400 x 400 пикселей имеет физический размер 4 x 4 дюйма и разрешение 100 пикселей на дюйм (ppi). Для уменьшения физического размера изображения на половину без ресамплинга можно задать физический размер 2 x 2 дюйма. Photoshop увеличит разрешение до 200 пикселей на дюйм. Изменение размера изображения таким образом оставляет общее количество пикселей неизменным (200 пикселей на дюйм x 2 x 2 дюйма = 400 x 400 пикселей). При увеличении физического размера вдвое (до 8 x 8 дюймов) разрешение уменьшается до 50 пикселей на дюйм. Добавление дюймов к размеру изображения означает, что теперь в дюйме может быть вдове меньше пикселей. При изменении разрешения изображения, физический размер также изменяется.

Важно. Размеры в пикселях регулируют объем данных, а разрешение и физический размер используются только для печати.

Примечание. Пиксели на дюйм (ppi) — это количество пикселей в каждом дюйме изображения. Количество точек на дюйм (dpi) относится только к принтерам и отличается в зависимости от принтера. Как правило, оно составляет от 2,5 до 3 точек краски на пиксель. Например, принтеру со значением 600 точек на дюйм необходимо изображение со значением от 150 до 300 пикселей на дюйм для наилучшего качества печати.

Дополнительные сведения о параметрах в диалоговом окне Размер изображения см. в разделе Размеры в пикселях и разрешение печатного изображения в справке Photoshop.

Использование инструмента «Кадрирование»

При использовании инструмента «Кадрирование» для изменения размера изображения размеры изображения в пикселях и размер файла изменяются, но ресамплинг изображения не выполняется. При использовании инструмента «Кадрирование» размеры в пикселях и разрешение включают больше пикселей на дюйм на основе размера области кадрирования. Однако Photoshop специально не добавляет и не удаляет данные из изображения.

При кадрировании изображения данные удаляются или добавляются из исходного изображения или к нему, чтобы создать другое изображение. Поскольку данные удаляются или добавляются относительно исходного изображения, ресамплинг теряет свое значение. Это связано с тем, что количество пикселей на дюйм может отличаться в зависимости от количества пикселей в области фрагмента кадрирования. Если количество пикселей в области кадрирования позволяет, Photoshop пытается сохранить разрешение исходного изображения. Этот метод считается кадрированием без ресамплинга. Однако, если количество пикселей выбрано неточно, размеры в пикселях и размер файла изменяются в новом изображении.

Параметры инструмента «Кадрирование»

Набор параметров, доступных на панели параметров инструмента «Кадрирование» изменится после выбора области. При первом выборе инструмента «Кадрирование» можно задать значения высоты и ширины, а также разрешение. Высоту и ширину можно измерять в дюймах, сантиметрах, миллиметрах, точках и пайках. Введите единицу измерения или ее сокращение после числа в поле значения. Например, 100 пикселей, 1 дюйм, 1 д, 10 см, 200 мм, 100 точек или 100 паек.Если не указать единицы измерения ширины и высоты на панели кадрирования, по умолчанию используются дюймы.

Можно также установить значение разрешения кадрированного изображения в поле Разрешение. Выберите пиксели/дюйм или пиксели/см во всплывающем меню.

Дополнительные сведения о параметрах инструмента «Кадрирование» см. в разделе Кадрирование и выравнивание изображений.

Изменение только размера в дюймах

Если изменить физический размер изображения в дюймах в параметрах инструмента «Кадрирование» и не изменять разрешение, размеры в пикселях изменяются. Размеры изменяются в зависимости от пропорций количества пикселей в области кадрирования к размеру в пикселях исходного изображения. Разрешение изменяется, чтобы добавить дополнительные пиксели в каждый дюйм изображения на основе исходного размера изображения.

Примечание. Параметры исходного изображения, используемого в примерах ниже: 4 x 4 дюйма, 100 пикселей на дюйм, 400 x 400 пикселей, 468,8 кБ.

Размер в дюймах
(задает пользователь)

Разрешение
(изменяется приложением Photoshop)

Размеры в пикселях
(размер фрагмента кадрирования)

Источник

Интерполяция в фотошопе

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

Еще большую путаницу сделала новая версия фотошопа СС, в которой интерполяцией назвали ресамплинг.

В этой статье я рассказал, для чего нужна интерполяция или теперь ресамплинг, и как использовать различные виды интерполяции для уменьшения или увеличения картинки в фотошопе.

ресамплинг в photoshop какой лучше

Как мы выяснили из предыдущей статьи «Разрешение в фотошопе» монитор может неверно показывать истинное разрешение изображе­ния.

Это удобно сделать с помощью диалогового окна «Размер изображения» («Image Size»).

Оно не только показывает текущее разрешение любого открытого документа, но и позволяет вам изменить его.

В версии СС программы Photoshop это диалоговое окно было переработано и теперь включает в себя область предварительного просмотра, позволяющую видеть результаты значений, вводимых в нем до их применения, а также ряд других существенных изменений.

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

Чтобы вызвать это диалоговое окно и проверить разрешение документа, вы­берите команду меню «Изображение => Размер изображения» («Image => Im­age Size») или нажмите сочетание клавиш Alt+Ctrl+I.

ресамплинг в photoshop какой лучше

Диалого­вое окно сообщает следующую информацию о вашем изображении:

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

Ме­няя значения в полях Ширина (Width), Высота (Height) и Разрешение (Resolu­tion), вы можете изменить размер и разрешение изображения.

Флажок Ресамплинг (Resample) (до версии фотошопа СС назывался «Интерполяция») данного диалогового окна — ваш ключ к изме­нению разрешения без влияния на качество изображения.

Ресамплинг («Интерполяция») — это процесс, при котором программа Photoshop реагирует на команду изменения размера, добавляя или вычитая пикселы. Проблема, заключается в том, что при ресамплинге Photoshop «строит предположе­ния», а это может испортить качество изображения.

Когда флажок Ресамплинг («Интерполяция») установлен, программа увеличивает или уменьшает количество пикселов в изображении, для начала создавая пикселы, которых раньше не было, либо выбирая, какие из них удалить, соот­ветственно. Сбросив этот флажок, вы защитите качество своего изображения, закрепив размер в пикселах.

Если вы планируете выводить документ на пе­чать, отключение данного параметра позволит Вам подобрать разре­шение, не меняя качество изображения, потому что вы только измените раз­меры пикселов, а не их количество.

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

Существуют два режима ресамплинга (интерполяции):

Если установлен флажок Ресамплинг («Интерполяция»), необходимо выбрать метод интерполяции в раскрывающемся списке, расположенном правее.

ресамплинг в photoshop какой лучше

Зачем это может потребоваться? К примеру, если у вас есть изображение с разрешением 300ppi, размер которого составляет 10х15 см, а вам нужно изображение размером 15×20 см с таким же разрешением, то устанавливаем данный флажок. С другой стороны, если у вас очень крупное изображение, слишком большое, чтобы переслать его по электронной почте, можно применить ресамплинг (интерполяцию) для уменьшения размера изображения в пикселах (и, следовательно, размера файла).

В раскрывающемся списке Ресамплинг («Интерполяция») определяется, какие математические вычисления выбирает программа Photoshop для добавления или удаления пикселов.

ресамплинг в photoshop какой лучше

Этот вариант позволяет программе Photo­shop выбрать лучший метод в зависимости от содержимого изображения и того, требуется ли его увеличить или уменьшить. Этот метод также при­меняется инструментом Рамка (Crop) и командой Свободное трансфор­мирование (Free Transform), a вот функция изменения размера в диалого­вом окне «Сохранить для Web» (Save for Web) его не использует.

ресамплинг в photoshop какой лучше

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

Вот почему, ког­да вы выбираете этот вариант, под раскрывающимся списком появляется ползунковый регулятор «Уменьшить шум» (Noise). Перетащите его вправо, чтобы уменьшить шум. В этом случае очень удобна область просмотра диалогового окна «Размер изображения» (Image Size), так как эффект от перемещения ползункового регулятора «Уменьшить шум» (Noise) можно наблюдать в реальном вре­мени.

ресамплинг в photoshop какой лучше

Новые пикселы появляются за счет усреднения цвета пикселов вокруг ново­го пиксела. При этом пикселы немного размываются, чтобы можно было наложить новые пикселы на старые, придавая изображению более гладкий и есте­ственный вид. Рекомендуется применять для увеличения изображений.

ресамплинг в photoshop какой лучше

Этот метод по способу создания пикселов похож на метод Бикубическая с увеличением, однако, вместо того, чтобы размывать целые пикселы для улучшения наложения новых и старых пикселов, он смягчает только края пикселов. Рекоменду­ется применять данный метод для уменьшения изображений, хотя неко­торые гуру Photoshop утверждают, что с его помощью выполняются также и более качественные увеличения, чем при использовании метода Бику­бическая (с увеличением) (Bicubic Smoother (enlargement)).

ресамплинг в photoshop какой лучше

Этот метод позволяет определить цвета новых пикселов, усреднив цвета пикселов вокруг ново­го пиксела. Этот метод занимает больше времени, чем предыдущие два, но создает более плавный переход в областях, где один цвет заменяется другим.

ресамплинг в photoshop какой лучше

Это метод дает самое низ­кое качество изображения. В этом случае программа ориентируется на цвета пикселов, окружающих новые, и копирует их. Этот способ создает не­ровные края, поэтому стоит применять его только к изображениям с рез­кими краями, таким как иллюстрации, которые не были сглажены.

ресамплинг в photoshop какой лучше

Указывает программе Photoshop, что необходимо угадать цвет новых пикселов, выбрав нечто среднее между цветом пиксе­лов, расположенных непосредственно выше и ниже, а также слева и спра­ва от добавляемого. Результат данного метода чуть лучше, чем при выборе варианта «По соседним пикселам (четкие края) (Nearest Neighbor)», к тому же он быстрее, но все же рекомендуется использовать другие методы.

Вот и все, что я хотел сказать об интерполяции в фотошопе.

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

Спасибо за прочтение.

Жду Ваши вопросы и комментарии в форме ниже статьи.

Подписывайтесь на рассылку новых статей и уроков от сайта PhotoshopSunduchok (все разделы фотошопа):

Комментарии

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

S-Spline XL
S-Spline
Lanczos
Бикубический
B-Spline
Catmull-Rom
Mitchell
Bell
Hermite
Билинейный
Ближайший сосед

Можете ли Вы дать разъяснения?

Очень благодарен за Вашу работу

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

ресамплинг в photoshop какой лучше

СПАСИБО за полезный урок!

Часто приходится уменьшать/увеличиват ь картинки.
Ваше разъяснение как раз сделает эти преобразования еще качественнее.

Источник

Ликбез: методы ресайза изображений

Почему изображение, масштабированное с бикубической интерполяцией, выглядит не как в Фотошопе. Почему одна программа ресайзит быстро, а другая — нет, хотя результат одинаковый. Какой метод ресайза лучше для увеличения, а какой для уменьшения. Что делают фильтры и чем они отличаются.

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

ресамплинг в photoshop какой лучше
Этот человек сидит среди ромашек, чтобы привлечь ваше внимание к статье.

Для наглядного сравнения я буду использовать изображения одинакового разрешения 1920×1280 (одно, второе), которые буду приводить к размерам 330×220, 1067×667 и 4800×3200. Под иллюстрациями будет написано, сколько миллисекунд занял ресайз в то или иное разрешение. Цифры приведены лишь для понимания сложности алгоритма, поэтому конкретное железо или ПО, на котором они получены, не так важно.

Ближайший сосед (Nearest neighbor)

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

ресамплинг в photoshop какой лучше

Вообще, качество и производительность любого метода уменьшения можно оценить по отношению количества пикселей, участвовавших в формировании конечного изображения, к числу пикселей в исходном изображении. Чем больше это отношение, тем скорее всего алгоритм качественнее и медленнее. Отношение, равное одному, означает что как минимум каждый пиксель исходного изображения сделал свой вклад в конечное. Но для продвинутых методов оно может быть и больше одного. Дак вот, если например мы уменьшаем изображение методом ближайшего соседа в 3 раза по каждой стороне, то это соотношение равно 1/9. Т.е. большая часть исходных пикселей никак не учитывается.

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
1920×1280 → 330×220 = 0,12 ms
1920×1280 → 1067×667 = 1,86 ms
1920×1280 → 4800×3200 = 22,5 ms

Теоретическая скорость работы зависит только от размеров конечного изображения. На практике при уменьшении свой вклад вносят промахи кеша процессора: чем меньше масштаб, тем меньше данных используется из каждой загруженной в кеш линейки.

Метод осознанно применяется для уменьшения крайне редко, т.к. дает очень плохое качество, хотя и может быть полезен при увеличении. Из-за скорости и простоты реализации он есть во всех библиотеках и приложениях, работающих с графикой.

Аффинные преобразования (Affine transformations)

Аффинные преобразования — общий метод для искажения изображений. Они позволяют за одну операцию повернуть, растянуть и отразить изображение. Поэтому во многих приложениях и библиотеках, реализующих метод аффинных преобразований, функция изменения изображений является просто оберткой, рассчитывающей коэффициенты для преобразования.

Принцип действия заключается в том, что для каждой точки конечного изображения берется фиксированный набор точек исходного и интерполируется в соответствии с их взаимным положением и выбранным фильтром. Количество точек тоже зависит от фильтра. Для билинейной интерполяции берется 2×2 исходных пикселя, для бикубической 4×4. Такой метод дает гладкое изображение при увеличении, но при уменьшении результат очень похож на ближайшего соседа. Смотрите сами: теоретически, при бикубическом фильтре и уменьшении в 3 раза отношение обработанных пикселей к исходным равно 4² / 3² = 1,78. На практике результат значительно хуже т.к. в существующих реализациях окно фильтра и функция интерполяции не масштабируются в соответствии с масштабом изображения, и пиксели ближе к краю окна берутся с отрицательными коэффициентами (в соответствии с функцией), т.е. не вносят полезный вклад в конечное изображение. В результате изображение, уменьшенное с бикубическим фильтром, отличается от изображения, уменьшенного с билинейным, только тем, что оно еще более четкое. Ну а для билинейного фильтра и уменьшения в три раза отношение обработанных пикселей к исходным равно 2² / 3² = 0.44, что принципиально не отличается от ближайшего соседа. Фактически, аффинные преобразования нельзя использовать для уменьшения более чем в 2 раза. И даже при уменьшении до двух раз они дают заметные эффекты лесенки для линий.

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

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
1920×1280 → 330×220 = 6.13 ms
1920×1280 → 1067×667 = 17.7 ms
1920×1280 → 4800×3200 = 869 ms

Время работы заметно больше, чем у ближайшего соседа, и зависит от размера конечного изображения и размера окна выбранного фильтра. От промахов кеша уже практически не зависит, т.к. исходные пиксели используются как минимум по двое.

Мое скромное мнение, что использование этого способа для произвольного уменьшения изображений попросту является багом, потому что результат получается очень плохой и похож на ближайшего соседа, а ресурсов на этот метод нужно значительно больше. Тем не менее, этот метод нашел широкое применение в программах и библиотеках. Самое удивительное, что этот способ используется во всех браузерах для метода канвы drawImage() (наглядный пример), хотя для простого отображения картинок в элементе используются более аккуратные методы (кроме IE, в нем для обоих случаев используются аффинные преобразования). Помимо этого, такой метод используется в OpenCV, текущей версии питоновской библиотеки Pillow (об этом я надеюсь написать отдельно), в Paint.NET.

Кроме того, именно этот метод используется видеокартами для отрисовки трехмерных сцен. Но разница в том, что видеокарты для каждой текстуры заранее подготавливают набор уменьшенных версий (mip-уровней), и для окончательной отрисовки выбирается уровень с таким разрешением, чтобы уменьшение текстуры было не более двух раз. Кроме этого, для устранения резкого скачка при смене mip-уровня (когда текстурированный объект приближается или отдаляется), используется линейная интерполяция между соседними mip-уровнями (это уже трилинейная фильтрация). Таким образом для отрисовки каждого пикселя трехмерного объекта нужно интерполировать между 2³ пикселями. Это дает приемлемый для быстро движущейся картинки результат за время, линейное относительно конечного разрешения.

Суперсемплинг (Supersampling)

С помощью этого метода создаются те самые mip-уровни, с помощью него (если сильно упростить) работает полноэкранное сглаживание в играх. Его суть в разбиении исходного изображения по сетке пикселей конечного и складывании всех исходных пикселей, приходящихся на каждый пиксель конечного в соответствии с площадью, попавшей под конечный пиксель. При использовании этого метода для увеличения, на каждый пиксель конечного изображения приходится ровно один пиксель исходного. Поэтому результат для увеличения равен ближайшему соседу.

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше

Можно выделить два подвида этого метода: с округлением границ пикселей до ближайшего целого числа пикселей и без. В первом случае алгоритм становится малопригодным для масштабирования меньше чем в 3 раза, потому что на какой-нибудь один конечный пиксель может приходиться один исходный, а на соседний — четыре (2×2), что приводит к диспропорции на локальном уровне. В то же время алгоритм с округлением очевидно можно использовать в случаях, когда размер исходного изображения кратен размеру конечного, или масштаб уменьшения достаточно мал (версии разрешением 330×220 почти не отличаются). Отношение обработанных пикселей к исходным при округлении границ всегда равно единице.

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
1920×1280 → 330×220 = 7 ms
1920×1280 → 1067×667 = 15 ms
1920×1280 → 4800×3200 = 22,5 ms

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

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
1920×1280 → 330×220 = 19 ms
1920×1280 → 1067×667 = 45 ms
1920×1280 → 4800×3200 = 112 ms

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

Данный метод используется в функции gdImageCopyResampled() библиотеки GD, входящей в состав PHP, есть в OpenCV (флаг INTER_AREA), Intel IPP, AMD Framewave. Примерно по такому же принципу работает libjpeg, когда открывает изображения в уменьшенном в несколько раз виде. Последнее позволяет многим приложениям открывать изображения JPEG заранее уменьшенными в несколько раз без особых накладных расходов (на практике libjpeg открывает уменьшенные изображения даже немного быстрее полноразмерных), а затем применять другие методы для ресайза до точных размеров. Например, если нужно отресайзить JPEG разрешением 1920×1280 в разрешение 330×220, можно открыть оригинальное изображение в разрешении 480×320, а затем уменьшить его до нужных 330×220.

Свертки (Convolution)

Этот метод похож на аффинные преобразования тем, что используются фильтры, но имеет не фиксированное окно, а окно, пропорциональное масштабу. Например, если размер окна фильтра равен 6, а размер изображения уменьшается в 2,5 раза, то в формировании каждого пикселя конечного изображения принимает участие (2,5 * 6)² = 225 пикселей, что гораздо больше, чем в случае суперсемплинга (от 9 до 16). К счастью, свертки можно считать в 2 прохода, сначала в одну сторону, потом в другую, поэтому алгоритмическая сложность расчета каждого пикселя равна не 225, а всего (2,5 * 6) * 2 = 30. Вклад каждого исходного пикселя в конечный как раз определяется фильтром. Отношение обработанных пикселей к исходным целиком определяется размером окна фильтра и равно его квадрату. Т.е. для билинейного фильтра это отношение будет 4, для бикубического 16, для Ланцоша 36. Алгоритм прекрасно работает как для уменьшения, так и для увеличения.

ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
ресамплинг в photoshop какой лучшересамплинг в photoshop какой лучше
1920×1280 → 330×220 = 76 ms
1920×1280 → 1067×667 = 160 ms
1920×1280 → 4800×3200 = 1540 ms

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

Именно этот метод реализован в ImageMagick, GIMP, в текущей версии Pillow с флагом ANTIALIAS.

Одно из преимуществ этого метода в том, что фильтры могут задаваться отдельной функцией, никак не привязанной к реализации метода. При этом функция самого фильтра может быть достаточно сложной без особой потери производительности, потому что коэффициенты для всех пикселей в одном столбце и для всех пикселей в одной строке считаются только один раз. Т.е. сама функция фильтра вызывается только (m + n) * w раз, где m и n — размеры конечного изображения, а w — размер окна фильтра. И наклепать этих функций можно множество, было бы математическое обоснование. В ImageMagick, например, их 15. Вот как выглядят самые популярные:

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *