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

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

Концепция

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

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

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

Пример изменения размера изображения

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

оригинал до после без интерполяции

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

Пример вращения изображения

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

оригинал поворот на 45 поворот на 90 (без потерь) 2 поворота на 45° 6 поворотов на 15°

Поворот на 90° не вносит потерь, поскольку ни один пиксель не требуется поместить на границу между двумя (и как следствие разделить). Заметьте, как большая часть деталей теряется при первом же повороте, и как качество продолжает падать при последующих. Это означает, что следует избегать вращений, насколько возможно; если неровно выставленный кадр требует поворота, не следует вращать его более одного раза.

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

Типы алгоритмов интерполяции

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

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

Адаптивные алгоритмы включают в себя многие коммерческие алгоритмы в лицензированных программах, таких как Qimage, PhotoZoom Pro, Genuine Fractals и другие. Многие из них применяют различные версии своих алгоритмов (на основе попиксельного анализа), когда обнаруживают наличие границы - с целью минимизировать неприглядные дефекты интерполяции в местах, где они наиболее видны. Эти алгоритмы в первую очередь разработаны для максимизации бездефектной детальности увеличенных изображений, так что некоторые из них для вращения или изменения перспективы изображения непригодны.

Метод ближайшего соседа

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

Билинейная интерполяция

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

Диаграмма слева относится к случаю, когда все известные пиксели равны, так что интерполированное значение просто является их суммой, поделенной на 4.

Бикубическая интерполяция

Бикубическая интерполяция идёт на один шаг дальше билинейной, рассматривая массив из 4x4 окружающих пикселей - всего 16. Поскольку они находятся на разных расстояниях от неизвестногопикселя, ближайшие пиксели получают при расчёте больший вес. Бикубическая интерполяция производит значительно более резкие изображения, чем предыдущие два метода, и возможно, является оптимальной по соотношению времени обработки и качества на выходе. По этой причине она стала стандартной для многих программ редактирования изображений (включая Adobe Photoshop), драйверов принтеров и встроенной интерполяции камер.

Интерполяция высшего порядка: сплайны и sinc

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

Наблюдаемые дефекты интерполяции

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

оригинал ступенчатость размытие гало

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

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

Материал с малоразмерной текстурой Участок при увеличении 220%

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

Сглаживание

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

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

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

Оптический и цифровой зум

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

Оптический зум (х10) Цифровой зум (х10)

Даже несмотря на то, что фото с использованием цифрового зума содержит то же число пикселей, его детальность отчётливо меньше, чем при использовании оптического зума.Цифровой зум следует практически полностью исключить, за вычетом случаев, когда он помогает отобразить удалённый объект на ЖК-экране вашей камеры. С другой стороны, если вы обычно снимаете в JPEG и хотите впоследствии обрезать и увеличить снимок, цифровой зум имеет преимущество в том, что его интерполяция осуществляется до внесения дефектов компрессии. Если вы обнаруживаете, что цифровой зум вам нужен слишком часто, купите телеконвертор, а ещё лучше объектив с большим фокусным расстоянием.

Чтобы понимать какие процессы заложены в механизм изменения размеров изображения, почитайте — строительном материале любого растрового изображения. Если вкратце, то это маленькие цветные квадратики, из которых, как из мозаики, складывается картинка.

Говоря о размерах, мы говорим о разрешении . Оно записывается как сумма пикселей в одной строке по ширине и одном столбце по высоте и записывается так: 655×382. Именно таких размеров следующий арт:

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

В случае уменьшения размера , например, наш пример изменим до 300×175, картинка уже будет состоять из 300 пикселей в ширине и 175 пикселей в высоте. Никакого сужения не произошло. Фотошоп пересчитал пиксели в изображении и вычислил от каких можно избавиться.

Но этот процесс не обратимый. Если потребуется все вернуть обратно или сделать еще больше, то запустится новый процесс — увеличение.

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

Таким образом, при увеличении, качество будет сильно зависеть от начального размера изображения и от конечно, до которого нужно «дорасти».

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

Итак, самый основной способ изменить размер изображения — воспользоваться командой меню:

Изображение — Размер изображения (Image — Image Size).

Горячая клавиша: Alt+Ctrl+I.

Откроется диалоговое окно:

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

Размерность (Pixel Dimensions)

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

Обратите внимание на скобку и иконку в виде цепочки. Это означает, что при изменении ширины или высоты, второе значение будет автоматически меняться в тех же пропорциях, что и оригинал изображения. Это нужно, чтобы оно не получилось сжатым или вытянутым. Для включения\отключения такой функцию, поставьте галочку «Сохранить пропорции» (Constrain Proportions).

Размер печатного оттиска (Document Size)

Об этой группе настроек я упоминал, говоря о на принтере. Разрешение (Resolution) меняет размер пикселей и влияет на качество печати. Для принтеров смело ставьте в диапазоне 200-300 пикселей на дюйм.

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

Масштабировать стили (Scale Styles)

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

Интерполяция

Это ваш ключ к изменению разрешения без влияния на качество изображения. Интерполяция (Resample Image) - это процесс, при котором фотошоп реагирует на команду изменения размера, добавляя или вычитая пиксели. Проблема заключается в том, что при интерполяции, программа «строит предположения», а это может испортить качество изображения.

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

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

Например, если у вас есть изображение с разрешением 200 пикселей на дюйм , размер которого при печати составляет 4×6, а размер печатного варианта должен быть 5×7 и желательно сохранить разрешение в 200 пикселей на дюйм . Для этого можно установить данный флажок.

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

Вот какие варианты вам предлагаются, отсортированные по качеству (от худшего к лучшему) и по скорости (от самого быстрого к самому медленному):

  • По соседним пикселям (сохраняет четкие края) (Nearest Neighbor) . Хотя этот метод в результате дает самое низкое качество изображения, он может быть полезен, поскольку создает самые маленькие файлы. Пригодится, если вы передаете файлы через Интернет, а у вас или у получателя медленное соединение. Этот метод работает ориентируясь на цвета окружающих пикселов, и копируя их. Он известен тем, что создает неровные края, поэтому вам стоит применять его только к изображениям с резкими краями, таким как иллюстрации, которые не были сглажены.
  • Билинейная (Bilinear). Если вы выберете этот метод, фотошоп будет угадывать цвет новых пикселов, выбирая нечто среднее между цветом пикселов, расположенных непосредственно выше и ниже, а также слева и справа от добавляемого. Результат данного метода чуть лучше, чем при выборе варианта По соседним пикселям и он все еще довольно быстрый, но вам лучше использовать вместо Билинейная один из следующих трех методов.
  • Бикубическая (наилучшая для плавных градиентов) (Bicubic) . Этот метод позволяет определить цвета новых пикселов, усреднив цвета пикселов непосредственно над и под новым, а также двух пикселов слева и справа от него. Этот метод занимает больше времени, чем предыдущие два, но создает более плавный переход в областях, где один цвет заменяется другим.
  • Бикубическая, глаже (наилучшая для увеличения) (Bicubic Smoother) . Близок к предыдущему методу по способу создания новых пикселов. При использовании этого метода пиксели немного размываются, чтобы можно было наложить новые на старые, придавая изображению более гладкий и естественный вид. Рекомендуется применять данный метод для увеличения изображений.
  • Бикубическая, четче (наилучшая для уменьшения) (Bicubic Sharper). Этот метод также похож на метод Бикубическая (наилучшая для плавных градиентов) по способу создания новых пикселов, однако вместо того, чтобы размывать целые пиксели для улучшения наложения новых и старых как предыдущий метод, он смягчает только края пикселов. Рекомендуется применять данный метод для уменьшения изображений.

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

В старые недобрые времена многие продавцы предпочли бы называть в качестве спецификации интерполированное значение разрешающей способности, если бы они его знали. В то время разрешающая способность была ниже (до появления доступных пленочных сканеров), поэтому искушение было очень велико. Так у планшетных сканеров, которые используются для получения изображений фотографий и подобных продуктов, реальное оптическое разрешение могло быть 300x300 выборок на дюйм. С помощью магии интерполяции тот же самый сканер мог выдавать поддельное разрешение в 600x600 выборок на дюйм или даже 1200x1200 выборок на дюйм. И именно это рекламировали бы продавцы. Доверчивые покупатели могли бы думать, что они покупают сканер с разрешением 1200x1200 выборок на дюйм, тогда как большая часть дополнительной четкости была бы математическим "шаманством".

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

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

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

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

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

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

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

Поскольку в таком случае нужно проверять только каждый второй пиксель, это достаточно быстрый метод, хотя и не очень точный. Он не подходит для большей части фотографических изображений, содержащих плавные переходы между отдельными участками, поскольку дает в них заметно более зубчатые края. Если вы сканируете изображение с четкими границами, например, фрагмент текста или изображение, которое будет сохраняться в формате GIF, алгоритм ближайших соседей будет вполне пригоден. В таких случаях он дает меньшие файлы, при этом эффективно сохраняя резкие границы. На рис. 3.4 изображена буква А (один из типов изображений, для которых достаточно хорошо работает алгоритм ближайших соседей), а на рис. 3.5 показана увеличенная на 600% часть этой буквы после обработки с помощью данного.

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

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

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

Какая-то интерполяция происходит при любом сканировании с разрешением, отличным от естественного разрешения сканера. Например, если реальное разрешение вашего сканера составляет 4000 выборок на дюйм, то всякий раз, когда вы сканируете с разрешением, скажем, 2000 spi, желая уменьшить размер файла для не очень важных изображений, конечное изображение формируется в помощью интерполяции. Если же сканер с разрешающей способностью 4000 spi позволяет выполнять сканирование с разрешением 8000 spi, интерполяция запускается для имитации более высокого разрешения. В некоторых сканерах интерполяция выполняется аппаратно при создании отсканированного изображения, тогда как в других этот этап выполняется с помощью программного обеспечения на компьютере.

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


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

Концепция

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

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

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

Пример изменения размера изображения

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

плоскостная интерполяция
Оригинал до после без интерполяции

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

Пример вращения изображения

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

Деградация изображения
Оригинал поворот на 45° поворот на 90°
(без потерь)
2 поворота на 45° 6 поворотов на 15°

Поворот на 90° не вносит потерь, поскольку ни один пиксель не требуется поместить на границу между двумя (и как следствие разделить). Заметьте, как большая часть деталей теряется при первом же повороте, и как качество продолжает падать при последующих. Это означает, что следует избегать вращений, насколько возможно ; если неровно выставленный кадр требует поворота, не следует вращать его более одного раза.

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

Типы алгоритмов интерполяции

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

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

Адаптивные алгоритмы включают в себя многие коммерческие алгоритмы в лицензированных программах, таких как Qimage, PhotoZoom Pro, Genuine Fractals и другие. Многие из них применяют различные версии своих алгоритмов (на основе попиксельного анализа), когда обнаруживают наличие границы - с целью минимизировать неприглядные дефекты интерполяции в местах, где они наиболее видны. Эти алгоритмы в первую очередь разработаны для максимизации бездефектной детальности увеличенных изображений, так что некоторые из них для вращения или изменения перспективы изображения непригодны.

Метод ближайшего соседа

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

Билинейная интерполяция

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

Диаграмма слева относится к случаю, когда все известные пиксели равны, так что интерполированное значение просто является их суммой, поделенной на 4.

Бикубическая интерполяция

Бикубическая интерполяция идёт на один шаг дальше билинейной, рассматривая массив из 4x4 окружающих пикселей - всего 16. Поскольку они находятся на разных расстояниях от неизвестногопикселя, ближайшие пиксели получают при расчёте больший вес. Бикубическая интерполяция производит значительно более резкие изображения, чем предыдущие два метода, и возможно, является оптимальной по соотношению времени обработки и качества на выходе. По этой причине она стала стандартной для многих программ редактирования изображений (включая Adobe Photoshop), драйверов принтеров и встроенной интерполяции камер.

Интерполяция высшего порядка: сплайны и sinc

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

Наблюдаемые дефекты интерполяции

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

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

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

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

Сглаживание

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


300%

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

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

Оптический и цифровой зум

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


оптический зум (10x) цифровой зум (10x)

Даже несмотря на то, что фото с использованием цифрового зума содержит то же число пикселей, его детальность отчётливо меньше, чем при использовании оптического зума. Цифровой зум следует практически полностью исключить , за вычетом случаев, когда он помогает отобразить удалённый объект на ЖК-экране вашей камеры. С другой стороны, если вы обычно снимаете в JPEG и хотите впоследствии обрезать и увеличить снимок, цифровой зум имеет преимущество в том, что его интерполяция осуществляется до внесения дефектов компрессии. Если вы обнаруживаете, что цифровой зум вам нужен слишком часто, купите телеконвертор, а ещё лучше объектив с большим фокусным расстоянием.

Изменение разрешения путем интерполяции изображения

Лекция: Adobe Photoshop CS5 для дизайнера и фотографа

Adobe Photoshop CS5 - последняя версия легендарного графического редактора. Сам перевод названия программы "Фотомагазин" говорит о том, что это программа для фотографов. Программное обеспечение Adobe® Photoshop® CS5, соответствует мировым стандартам, позволяет создавать профессиональные изображения на высшем уровне. В новой версии вы сможете рисовать реалистичные иллюстрации, быстро создавать эффектные изображения HDR, устранять шумы, добавлять зернистость и настраивать виньетирование с помощью самых современных инструментов для обработки фотографий. В лекциях мы не будем глубоко вникать в теорию компьютерной графики, а заострим внимание на практике работы с фотоизображениями.

Основные понятия компьютерной графики

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

Разрешение изображения

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

Количество пикселей в изображении определяет его разрешение. Пиксели часто называют точками, тогда разрешение измеряется в dpi (dot per inch), то есть в количестве точек на дюйм.

Примечание

В компьютерной литературе существует путаница в терминах и некоторые из авторов разрешение мониторов измеряют в dpi (dot per inch), сканеров в ppi (pixel per inch) - пиксель на дюйм, а принтеров в lpi (line per inch) - линий на дюйм. Другие же авторы книг разрешение любого изображения, не зависимо от способа его получения измеряют только в dpi.

Если вдуматься, то становится очевидным, что чем выше разрешение, тем большее количество пикселей содержит изображение и тем большим количеством деталей (то есть - качеством) такое изображение характеризуется. С другой стороны, более высокое разрешение изображение прямо связано с большим размером файла такого изображения. Поэтому установка величины разрешения зависит от целей и задач компьютерного художника и для конкретной работы будет разной. Например, веб-дизайнеры обычно работают с изображениями 72-96 dpi, в то время как полиграфисты предпочитают разрешения изображений от 300 dpi и выше (рис. 1.1).

Рис. 1.1. Изображение высокого разрешения слева (файл 977 Кб) и низкого разрешения справа (файл 41 Кб)

Глубина цвета

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

Новый термин

Глубина цвета характеризует число воспроизводимых градаций яркости пикселя в черно-белых изображениях и количество отображаемых цветов в цветном изображении.

Для примера на рис. 1.2 показано одно и то же изображение, но с разной глубиной цвета: в два цвета сверху, и в 256 оттенков серого снизу. Из этой иллюстрации наглядно видно, что чем выше число воспроизводимых градаций яркости пикселя в черно-белых изображениях (и количество отображаемых цветов в цветном изображении), тем качество растрового изображения выше.

Рис. 1.2. Одно и то же изображение, но с разной глубиной цвета

С точки зрения цветовой глубины растровые изображения можно разбить на несколько типов:

Для монохромного черно-белого (Black and White) изображения используются только два типа ячеек: черные и белые. Поэтому для запоминания каждого пикселя требуется только 1 бит памяти компьютера. Такие изображения часто называются 1-битовыми изображениями. Соответственно, их цветовая разрешающая способность будет равна 1 бит/пиксель.

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

Рис. 1.3. Десять градаций серого цвета - от белого (100%) до черного (0%)

Для работы с изображениями, описание которых требует большого цветового разрешения, используются цветовые модели RGB, Lab и CMYK. В случае RGB-формата цвет каждого пикселя определяется комбинацией из трех цветов: красного, зеленого и голубого. В зависимости от назначения изображение может иметь 16 битовое, 24 битовое или 32 битовое цветовое разрешение (глубину цвета).

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

Изменение разрешения путем интерполяции изображения

Если разрешение цифрового изображения, полученного посредством матрицы сканера (или цифровой фотокамеры) совпадает с числом светочувствительных элементов сканера (или камеры), то говорят о фактическом (аппаратном или физическом) разрешении. Однако как в аппаратуре оцифровки изображений, так и в графических программах предусмотрена возможность использования операции интерполяции (Resampling), то есть изменения разрешения, которая может быть реализована разными способами. Например, в программе Adobe Photoshop (рис. 1.4) реализованы три способа интерполяции - по соседним, билинейная и бикубическая.

Рис. 1.4. Способы интерполяции изображений в Adobe Photoshop

При интерполяции по соседним (Nearest Neighbor) для добавляемого программой пикселя берется значение пикселя соседнего с ним. То есть, если соседний пиксель красный, то и программа увеличивает разрешение изображения добавлением красного пикселя.



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

Бикубическая (Bicubic) интерполяция усредняется значение группы не только непосредственно граничащих, но и всех соседних пикселов. Какой диапазон пикселов выбирается для усреднения и по какому алгоритму это усреднение происходит - этим отличаются способы бикубической интерполяции. На иллюстрации выше мы видим три варианта бикубической интерполяции в Adobe Photoshop.

Примечание

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