Как изменить размер изображения в фотошопе. Процесс интерполяции

Сравнение программы RAISR с другими передовыми методами повышения разрешения изображений. Больше примеров см. в сопроводительных материалах к научной статье

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

На практике возможности подобных программ гораздо скромнее. Например, 29 октября 2016 года на GitHub выложили программу Neural Enhance , которая повышает разрешение фотографий с помощью нейросети. Программа сразу вошла в список самых популярных репозиториев за неделю.


Пример работы Neural Enhance


Ещё один пример работы программы Neural Enhance, которая опубликована в открытом доступе на GitHub

Сотрудники Google Research тоже работают в этом направлении - в официальном блоге компании вчера рассказали о методе повышения разрешения, который назвали RAISR (Rapid and Accurate Image Super-Resolution).

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

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

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

В ходе обучения RAISR применялась база одновременно сгенерированых пар изображений в высоком и низком качестве. Использовались пары маленьких фрагментов изображения для стандартной 2х интерполяции, то есть фрагменты 3×3 и 6×6 пикселей. Алгоритм обучения и работы RAISR показан на схеме.

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

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

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

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

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


Слева: оригинал низкого разрешения. По центру: результат работы стандартного бикубического интерполятора. Справа: результат работы RAISR

Фотографии станут лучше сразу у всех пользователей Android.

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


Слева: оригинал низкого разрешения с характерными для JPEG артефактами алиасинга. Справа - выдача RAISR

Сотрудников Google Research скоро будет опубликована в журнале IEEE Transactions on Computational Imaging. (Примечание: ведущий автор научной работы был стажёром Google Research во время подготовки статьи, но теперь работает в израильском исследовательском технологическом институте Technion).

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

Экранная версия изображения - это просто матрица точек, которая описывается своими размерами по высоте и ширине. Изображение с размерами 600 на 400 будет занимать фиксированную долю экранного пространства на любом мониторе, независимо от его принципа действия. Оно закроет почти весь экран, если для него выбрано разрешение 640*480, на экране с разрешением 1024*768 оно займет примерно четверть пространства, наконец, при разрешении 1600*1200 будет занято чуть более одной девятой площади экрана. При этом физические размеры, т.е. размеры, которые рассчитываются в дюймах и сантиметрах, будут зависеть от диагонали монитора.

А каковы будут размеры картинки при выводе ее на печать? Для искушенного пользователя Photoshop ответ очевиден. Размеры печатной версии совпадают с габаритами сканированного оригинала (если быть предельно точным, то с размерами области сканирования). Это естественное соглашение для всех программ обработки графики является установкой по умолчанию; но большая часть растровых редакторов располагает специальными средствами изменения размеров печати.

Чтобы установить такой размер экранной версии изображения, который совпадает с его печатным вариантом, требуется выполнить команду главного меню View - Print Size (Просмотр - Размер при печати) редактора Photoshop или воспользоваться кнопкой панели с тем же названием.

Пусть требуется отпечатать изображение размером 600*600 пикселов. Эти размеры - данность, сейчас не имеет значения способ их получения разрешение сканирования и установки печати. Если задать размеры печатной версии в 10 дюймов, то разрешение будет равно 600 dot / 10 inch = 60 dpi . Приведем ряд значений разрешения для разных габаритов печатного оттиска:

  • 600dot / 5inch = 120dpi;
  • 600dot / 3inch = 200dpi;
  • 600dot / 2inch = 300dpi.

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

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

Пусть, для выбранного принтера и сорта бумажного носителя оптимальным является значение разрешение, равное 200 dpi . Какие последствия вызовет вывод на печать выбранного оригинала с разрешением в 120 dpi ? Это решение приведет к потере качества, поскольку часть деталей будет потеряна при печати. А если побороться за результат, выбрав более высокое разрешение печати? Если, например, выставить 300 dpi или более, то принтеру будет передана избыточная информация, которой он просто не сможет воспользоваться.

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

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

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

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

Дискретизация

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


Рис. 2.4.

Поясним эту операцию на примере изображения из стандартной коллекции редактора (рис. 2.4). Оригинальная версия картинки, которая занимает среднюю позицию, имеет разрешение в 72 dpi . Увеличение разрешения в два раза до 144 dpi влечет за собой возрастание количества точек и рост линейных размеров экранной версии изображения (правый образец). Уменьшение разрешения до 36 dpi продуцирует прямо противоположные последствия (левый образец).

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

Пусть имеется изображение размером 400*400 точек. Если сократить его экранные размеры до 300*300 , то, на первый взгляд, это означает незначительное вмешательство в оригинал - сокращение всего лишь на три четверти. Иная картина открывается если подсчитать количество точек до операции и после. Исходная картинка состояла из 400*400 = 160 000 точек, а после преобразования насчитывает 300*300 = 90000 точек - почти наполовину меньше. Понятно, что такая масштабная по своим последствиям операция не может не сказаться на качестве картинки.

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

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

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

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

Что происходит с разрешением и областью печати при выполнении процедуры дискретизации? Ответ дает определение понятия разрешение: Длина ( inch ) * Разрешение (dpi)= Количество точек .

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

Операцию дискретизации могут выполнять и устройства оцифровки. При обработке оригинала с разрешением, которое не является целой частью максимального оптического разрешения сканера осуществлена процедура во многом напоминающая билинейную интерполяцию, выполняемую растровыми редакторами при изменении числа точек изображения. Рассмотрим эту ситуацию более подробно. Пусть требуется оцифровать оригинал шириной в три дюйма на сканере с максимальным оптическим разрешением в 600 dpi . Простым умножением можно найти количество светочувствительных, которые будут задействованы в этой процедуре. Оно равно 600 * 3 = 1800 . Если установлено разрешение, равное половине максимального (300 dpi ), то в процессе оцифровки будет участвовать 900 датчиков, т.е. каждый второй. Работу в таком режиме можно организовать элементарными средствами, не внося глубокие изменения в алгоритмы управления прибором. Совсем иная ситуация возникает, если выбрать такую плотность оцифровки, которая не является целой частью максимального оптического разрешения. Это приведет к нарушению регулярности расположения активных датчиков, поэтому подлинный вид сканируемого оригинала может быть сформирован только с участием специальных корректирующих алгоритмов, работающих по принципу программной интерполяции.

Выбор разрешения сканирования часто обосновывается рациональными доводами, но, несмотря на веские физические аргументы и стройные логические рассуждения, у пользователя почти всегда остается значительная свобода выбора. Даже в мысленном эксперименте трудно представить себе такую ситуацию, когда невозможно отступить от рассчитанного разрешения сканирования. В большинстве случаев качество изображения не претерпевает критических изменений даже при значительных отклонениях разрешения от рассчитанных оптимальных значений. Поэтому следует выбирать такую плотность оцифровки, которая приближает расчетное значение сверху и одновременно является целой частью максимального оптического разрешения выбранного устройства сканирования. Иными словами, если сканер способен работать с разрешением в 300 dpi , то кратные числа 75, 100, 150 dpi предпочтительнее, чем установки сканирования, не являющиеся целой частью от 300, например 120 или 175 dpi . Если для некоторого оригинала при помощи расчета или иным путем получено оптимальное разрешение, равное 140 dpi , то в реальной сессии сканирования целесообразно установить 150 dpi .

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

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

Масштабирование и дискретизация в Photoshop

Photoshop - это профессиональный растровый редактор, поэтому он полноценно поддерживает функции масштабирования и дискретизации. Все возможные операции этого типа выполняются средствами одного диалогового окна Image Size (Размер изображения). Для вывода его на экран достаточно выполнить команду Image - Image Size (рис. 2.5).


Рис. 2.5.

Рассмотрим основные возможности этого окна:

  • Pixel Dimensions (Размерность). В этом разделе выводятся размеры изображения, заданные в пикселах или процентах, и общий размер текущего документа в килобайтах или мегабайтах. Поля этого раздела доступны, если опция Resample Image (Интерполяция) является активной. В противном случае программа запрещает прямое изменение этих величин;
  • Document Size (Размер печатного оттиска). В этой секции выводится сведения о фактических габаритах печатного оттиска и разрешении, при котором изображение получает текущие размеры. Эти поля допускают прямое изменение. Увеличение размеров печатного оттиска влечет за собой возрастание числа пикселов цифровой версии изображения и наоборот;
  • Constrain Proportion (Сохранить пропорции). Данная опция управляет сохранением пропорций документа. Если она включена, то при любых операциях с изображением будет сохранено исходное соотношение сторон. Если опция не выбрана, то размеры сторон разрешается менять независимо друг от друга.
  • Resample Image (Интерполяция). Эта опция управляет процессом дискретизации. Если она включена, то программа разрешает менять точечные размеры оригинала, а следовательно и общее количество пикселов, по выбору пользователя. В противном случае все поля раздела Pixel Dimension становятся недоступными, и управление габаритами осуществляется только посредством настройки печатных размером или разрешения.
  • Изменение размеров растра выполняется при помощи алгоритмов интерполяции. Для выбора метода интерполяции служит безымянный список, расположенный рядом с переключателем. В нем можно выбрать один из пяти доступных методов пересчета изображения Nearest Neighbor (По соседним пикселам), Bilinear (Билинейная) и три варианта метода Bicubuc (Бикубическая). Особенности этих алгоритмов дискретизации обсуждались в предыдущем разделе.

Если манипуляции с установками диалогового окна Image Size оказались неудачными, то можно их сбросить и вернуться к стартовым значениям параметров. Для этого надо нажать и удерживать клавишу Alt, в результате кнопка Cancel превратиться в Reset, которая служит для отказа от сделанных окне изменений. Этот стандартный для редактора прием используется во многих диалогах программы.

Какие причины заставляют прибегать к масштабированию? Невозможно упомянуть обо всех ситуациях, когда это прием оказывается необходимым. Приведем лишь один пример. Многие цифровые камеры продуцируют оригиналы низкого разрешения и значительных размеров. Пусть получено изображение с разрешением 72 dpi и с размерами 30 на 20 сантиметров. Если отправить его на печать в таком состоянии, то качество оттиска будет невысоким. Можно с уверенностью прогнозировать появление неровностей на краях линий и отчетливо различимые ступеньки на областях с плавными цветовыми переходами. Количество точек в оригинале достаточно велико (почти полмиллиона) для того, чтобы получить печатную версию высокого качества. Требуется просто уменьшить размеры печатной версии. Для этого надо отключить опцию Resample Image и в полях раздела Document Size ввести разумные размеры печати, например 10 сантиметров по ширине. Программа пересчитает все остальные доступные параметры. Высота при этом будет равняться 6,5 см, а разрешение станет равным 215. Эти значения гарантируют печать достаточно высокого качества.

Ключевые термины

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

Глубинацвета - общее количество двоичных разрядов, приходящихся на один пиксел растрового изображения. Пусть некоторое изображение записано в системе RGB , и на каждую хроматическую координату R, G, и B отводится по 8 двоичных разрядов (1 байт). Можно утверждать, что это изображение имеет глубину цвета 8 бит на канал или 3 * 8 = 24 бита на пиксел.

Дискретизация - изменение числа точек растрового изображения.

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

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

Масштабирование растрового изображения - изменение разрешения изображения при выводе его на различные носители, при условии сохранения точечных размеров оригинала.

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

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

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

Оцифровка - процедура перевода изображения в растровую электронную форму.

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

Разрешение цифрового фотоаппарата - общее количество рецепторов фоточувствительной матрицы, например 8 мегапикселов = 8 млн. пикселов.

Разрешение экрана - два числа, равные максимальному количеству независимых адресуемых точек по ширине и высоте, например 800*600, 1024*768 .

Цветовое пространство True Color - цветовое пространство системы RGB с глубиной цвета 24 бита на точку. Множество цветов этого пространства составляет 16 777 216. Этой палитры достаточно для представления и обработки большей части цифровых изображений в электронном издательстве и полиграфии.

Теперь для интерполяции множеств можно использовать формулу (1). Она примет вид:

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

Пример 4. Пусть – круг радиуса с центром в точке = (0;0), – круг радиуса с центром в некоторой точке . Тогда интерполяционное множество () – это круг с центром в точке , расположенной на отрезке / /, радиуса (рис.9).

Рис.9. Интерполяция двух кругов

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

Замечание. Из свойств арифметических операций над множествами следует, что аналогичная картина получится при интерполяции двух любых кругов. Действительно, круг радиуса с центром в произвольной точке может быть представлен в виде суммы круга радиуса с центром в точке (0;0) и множества, состоящего из одной точки (равносильно вектора ): = + . Тогда интерполяционная формула даёт:

Остаётся заметить, что семейство векторов , , является переходным от вектора к нулевому вектору.

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

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

Пример 5. Пусть – квадрат 2 x 2 с правой нижней вершиной в начале координат, – прямоугольник 4 x 5 с левой нижней вершиной в начале координат (стороны обеих фигур параллельны осям координат) (рис. 10). Построим интерполяционное множество .

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

Рис.10. Интерполяция прямоугольников на основе арифметических операций

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

Рис.11. Интерполяция прямоугольников путём интерполяции вершин

Снова обсуждаемый метод интерполяции даёт такой результат, какой мы ожидали бы увидеть.

Пример 6. Пусть – прямоугольные равнобедренные треугольники с гипотенузой h =100 и общей вершиной в начале координат. Тогда в результате интерполяции по Минковскому при получим шестиугольник (интерполяционное множество ) (рис. 12).

Рис.12. Интерполяция симметричных треугольников

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

Результат примера 6, конечно, оставляет вопросы. Однако если вдуматься, то вряд ли мы сможем предложить «логичный» вариант переходного множества. Изначально предполагалось интерполировать «близкие», сходные изображения. См. также ниже замечание об особенностях интерполяции противоположных векторов.

Ещё более удивителен следующий случай.

Пример 7. Пусть – отрезки на осях координат: ,

Тогда – квадрат со стороной единица, нижние вершины которого расположены в точках (1;0) и (2;0) (рис. 13).

Рис.13. Интерполяция отрезков

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

Анализируя разобранные примеры, можно увидеть, что алгоритм Минковского даёт блестящие результаты в случаях, когда:

1) ,

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

Что такое разрешение?

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

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

Что такое интерполяция камеры в телефоне?

Интерполяция камеры - это искусственное увеличение разрешения изображения. Именно изображения, а не То есть это специальное программное обеспечение, благодаря которому снимок с разрешением 8 Мп интерполируется до 13 Мп или больше (или меньше).

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

Для чего это нужно?

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

Буквально 3-4 года тому назад многие производители гнались за количеством мегапикселей и разными способами пытались впихнуть их в свои смартфоны сенсоры с как можно большим числом. Так появлялись смартфоны с камерами с разрешением 5, 8, 12, 15, 21 Мп. Фотографировать они при этом могли как самые дешевые мыльницы, но покупатели, увидев наклейку "Камера на 18 Мп", сразу хотели купить такой телефон. С появлением интерполяции продавать такие смартфоны стало проще из-за возможности искусственно добавить мегапикселей камере. Конечно, качество фото со временем начало расти, но точно не из-за разрешения или интерполяции, а из-за естественного прогресса в плане разработки сенсоров и программного обеспечения.

Техническая сторона

Что такое интерполяция камеры в телефоне технически, ведь весь текст выше описывал только основную идею?

С помощью специального программного обеспечения на изображении "рисуются" новые пиксели. Например, для увеличения изображения в 2 раза после каждой строки пикселей картинки добавляется новая строка. Каждый пиксель в этой новой строке заполняется цветом. Цвет заливки высчитывается специальным алгоритмом. Самый первый способ - залить новую строку цветами, которыми обладают ближайшие пиксели. Результат такой обработки будет ужасным, но зато подобный способ требует минимум вычислительных операций.

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

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

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

Нужна ли вам интерполяция?

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

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

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


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

Концепция

Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках. Например, если вам захотелось знать, какова была температура в полдень, но измеряли её в 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 и хотите впоследствии обрезать и увеличить снимок, цифровой зум имеет преимущество в том, что его интерполяция осуществляется до внесения дефектов компрессии. Если вы обнаруживаете, что цифровой зум вам нужен слишком часто, купите телеконвертор, а ещё лучше объектив с большим фокусным расстоянием.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: