Фотошоп бикубическая интерполяция для слайдов. Описание Image Processing Toolbox

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

Экранная версия изображения - это просто матрица точек, которая описывается своими размерами по высоте и ширине. Изображение с размерами 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. Этой палитры достаточно для представления и обработки большей части цифровых изображений в электронном издательстве и полиграфии.

Функция изменения размера изображения, предоставленная Emgu (оболочка.net для OpenCV), может использовать любой из четырех методов интерполяции :

  • CV_INTER_NN (по умолчанию)
  • CV_INTER_LINEAR
  • CV_INTER_CUBIC
  • CV_INTER_AREA

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

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

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

4 ответов

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

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

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

Не уверен, что такое "area" - на самом деле это может быть "Bicubic". По всей вероятности, этот параметр даст лучший результат (с точки зрения потери/появления информации), но за счет самого продолжительного времени обработки.

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

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

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

Алгоритмы: (описания из документации OpenCV)

  • INTER_NEAREST - интерполяция ближайшего соседа
  • INTER_LINEAR - билинейная интерполяция (используется по умолчанию)
  • INTER_AREA - повторная выборка с использованием отношения области пикселей. Это может быть предпочтительный метод для прореживания изображения, поскольку он дает результаты без муара. Но когда изображение масштабируется, оно похоже на метод INTER_NEAREST.
  • INTER_CUBIC - бикубическая интерполяция по окрестности 4x4 пикселей.
  • INTER_LANCZOS4 - интерполяция Lanczos в окрестности 8x8 пикселей

Если вы хотите увеличить скорость, используйте метод Nearest Neighbor.

Сравнение программы 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).

Теперь для интерполяции множеств можно использовать формулу (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) ,

2) получено из параллельным переносом,

3) Когда пункты 1 и 2 выполняются одновременно.

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

Рис.14. Интерполяция векторов, образующих большой угол

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

.

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

Тем не менее, если использовать только положительные числа, всё выполняется. Такая структура в математике называется «конусом». Т.е. изображения с заданными на них операциями по Минковскому образуют «конус».

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

Лекция: 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.

Примечание

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



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

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

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