Деформации можно понимать как непараллельные сдвиги, когда каждая сторона изображения поворачивается на разные углы (рис. 11.21) — узкое понимание этого слова.
А вообще способов деформации пиксельных изображений огромное количество, например любимым способом дизайнерствующих масс является использование всевозможных фильтров. Редакторы пиксельной графики, как правило, располагают длинными списками таких фильтров. Например, флагман пиксельной графики — программа Adobe Photoshop предлагает более ста фильтров, выполняющих самые разные трансформации и деформации (рис. 11.22): от имитации художественных техник и имитации полиграфического оттиска до вращения изображения в трехмерном пространстве.
При всем многообразии и изощренности результатов сущность работы фильтра достаточно проста.
Трансформирование пиксельной графики
Данная глава призвана показать принципиальную ограниченность безгранично широко используемой пиксельной графики.
"Родовое проклятие" пиксельной графики — ортогональность сетки дискретизации — является причиной многих существенных проблем при трансформировании изображений. К процедурам трансформирования относятся следующие операции:
масштабирование (уменьшение и увеличение);
повороты (вращения и зеркальные отражения);
параллельные сдвиги (по горизонтали и по вертикали);
всевозможные деформации (непараллельные сдвиги).
Исключение составляют только повороты, кратные 90 градусам, а также зеркальные отражения относительно горизонтальной или вертикальной осей.
При уменьшении пиксельных изображений также возможны следующие варианты:
При уменьшении геометрических размеров с сохранением значения разрешения (рис. 11.13) происходит неизбежное в этом случае уменьшение количества пикселов, а следовательно, какой-то процент пикселов будет просто выброшен (рис. 11.14). Причем, это происходит сугубо механически. В этом процессе какие-нибудь важные мелкие элементы будут утрачены (например, зрачок, блик, маленький рефлекс, создающий форму в теневой области). Такие элементы грамотный художник всегда сохранит, а машина выбрасывает "не глядя".
Почему это воздействие оказывается насилием,
а преобразование — деформацией?
Жак Деррида
В обычной жизни мы используем инструменты увеличения для того, чтобы лучше разглядеть то, что невооруженным глазом совсем не видно или видно очень плохо. Поэтому интуитивно под увеличением мы понимаем получение дополнительной информации. Например, если мы рассматриваем какую-нибудь букашку, то при достаточной силе лупы мы начинаем видеть детали тела насекомого, которые скрыты от нас в силу очень мелкого размера.
А если мы собираемся увеличить пиксельное изображение, в этом случае необходимо понять, что дополнительной информации, скрытой от глаз зрителя, взяться просто неоткуда. Это неприятное следствие того факта, что после процедуры оцифровки происходит разрыв между источником и полученной битовой картой.
Информацию об этой особенности пиксельной графики см. в главе 8.
Действительно, в содержании битовой матрицы "намертво" фиксируется определенное количество графической информации в полном соответствии с параметрами пиксельной графики, которые были определены в момент создания изображения.
При увеличении пиксельного изображения неизбежно будут увеличиваться пикселы, из которых "картинка" и состоит, а само изображение будет все больше напоминать мозаику (рис. 11.4).
Очевидно, что указанное лицо заметит пропуск там, где недостает оттенка, и почувствует, что в данном месте разница между смежными цветами больше, чем в остальных.
Давид Юм
Если между пикселами исходного изображения добавляются новые пикселы, то достоверной информации для присвоения им значений тона или цвета, к сожалению, взять неоткуда. Эти значения можно только искусственно рассчитать с помощью методов интерполирования.
Я бы не стал увязывать эти вопросы так перпендикулярно.
Виктор Черномырдин
Если бы элементы дискретизации (пикселы) имели произвольные пропорции (то есть не квадратные), в этом случае все без исключения трансформации были бы связаны с погрешностями. А поскольку пикселы все-таки имеют одинаковую степень дискретизации по горизонтали и вертикали, для изображений пиксельной графики безопасны только повороты на ортогональные углы (кратные 90 градусам).
Информацию об основах дискретизации см. в главе 6.
Сюда же относятся так называемые операции зеркального отражения. В этом случае изначально ортогональная сетка дискретизации и соответствующая ей виртуальная битовая матрица (рис. 11.1) не могут изменяться и подвергаться каким-либо искажениям (рис. 11.2 и 11.3).
Параллельные сдвиги, превращающие прямоугольник в параллелограмм или в ромб, являются вариантами поворотов и имеют абсолютно идентичные погрешности (рис. 11.20).
Рис. 11.20. Пример параллельного сдвига по горизонтали
Предположим, что в оригинале присутствует какая-либо четкая вертикальная линия, которая может являться штрихом символа или каким-то элементом изображения (вертикалью угла стены или колонны). Если такое изображение повернуть не на 90 градусов (или углы, кратные 90 градусам), то, естественно, что этот четкий и ясный элемент, попадающий в сетку дискретизации, приобретет совсем иной вид (рис. 11.19).
Вспомните, что обычно происходит при переезде в квартиру большего размера. Обычно перевозят только ту мебель, которая имелась в старой (меньшей по площади). Мебель в этом случае расставляют с большими интервалами. Ах, если бы математические методы интерполяции можно было применить к мебели...
Существуют многочисленные методы (или алгоритмы) интерполирования, некоторые из которых применяются и в программах пиксельной графики.
Самым простым методом интерполирования является повторение тона или цвета соседних пикселов, поэтому он называется Nearest Neighbors (По ближайшим соседям) (рис. 11.11). Этот вариант обычно используется, если необходимо сохранить декоративную структуру изображения.
Другие алгоритмы служат для создания промежуточных тонов или цветов, которые создают некую шкалу, например, если исходные цвета черный и белый, то методом интерполирования обеспечивается серия серых тонов от темного до светлого (рис. 11.12).
Например, в программе Adobe Photoshop представлены два алгоритма, которые называются Bilinear (Билинейный) и Bicubic (Бикубический).
Рис. 11.3. Вращение битовой карты на ортогональный угол (180 градусов)
Вообще говоря, при работе с пиксельными изображениями на самом деле имеют дело с двумя размерностями, которые могут быть увеличены:
Обе эти размерности влияют на характер изображения, поэтому возможны следующие сочетания увеличения этих параметров:
Рассмотрим более подробно каждый из возможных случаев.
Информацию об интерполировании см. в разд. "Методы интерполирования" данной главы.
Рис. 11.12. Принцип действия метода интерполирования с созданием промежуточных тонов
Поэтому после такой процедуры, если изображение имеет важное художественное значение, следует обратить внимание на мелкие детали и восстановить их "ручным способом" (рис. 11.15).
Если выполняется уменьшение разрешения без изменения геометрических размеров (рис. 11.16), в этом случае несколько пикселов, имеющихся в изображении, должны быть объединены в один (в пиксел большего размера).
Объединение нескольких пикселов с разными тонами или цветами, безусловно, создает результирующий тон или цвет, отличающийся от исходных (рис. 11.17). Разумеется, минимальные погрешности возникнут только в том случае, если исходное изображение состоит из больших локальных областей близких цветов.
Некоторые программы при сохранении документа позволяют автоматически выполнять изменение параметров разрешения (резамплинг), например
Adobe Acrobat Distiller (рис. 11.18), для разных типов изображений (по глубине цвета) с учетом их разного назначения: для экрана, для офисной печати, для полиграфического исполнения.
Такой вид связан с тем, что сетка дискретизации никогда не изменяет своей ортогональности. Поэтому повороты пиксельного изображения на произвольные углы всегда происходят с погрешностями. Другое дело, что в некоторых случаях зритель может их просто не заметить.
Резюме
После полного рассмотрения принципов и особенностей пиксельной графики, а также всех ее параметров и их взаимоотношений настало время перейти к другому способу кодирования графической информации — векторной графике. Теперь нам предстоит обсудить достоинства и недостатки пиксельной и векторной графики.
"Ортогональный", "ортогональность" происходит от греческого слова "orthogonios", что означает "прямоугольный", и представляет собой обобщение понятия перпендикулярности, т. е. имеются в виду любые случаи размещения объектов под углом 90 градусов. Иногда это понятие распространяется на углы, кратные 90 градусам.
Следует четко усвоить, что никакие трансформации пиксельной графики, кроме вращения на ортогональные углы, без погрешности не происходят. Принципиально, любые.
"Интерполирование" происходит от латинского слова "interpolatio", что означает "изменение" или "переделка" и используется в математике и статистике как общее название методов расчета промежуточных значений какой-либо величины по другим ее известным значениям. Например, если известны значения счетчика электроэнергии в начале и в конце недели, можно теоретически предположить средний ежедневный расход. Такие значения не являются полностью достоверными, но во многих расчетных ситуациях их можно признать вполне достаточными. Кстати, в филологии это же слово означает вставку переписчиком или переводчиком в текст слов или фраз, отсутствовавших в оригинале.
Когда увеличиваются геометрические размеры изображения без изменения разрешения (рис. 11.5), для того, чтобы заполнить увеличенную площадь пикселами того же размера, необходимо применять методы интерполирования, например дублировать имеющиеся пикселы (рис. 11.6 и 11.7) или применять более сложные методы.
Когда увеличивается только разрешение без изменения геометрических размеров (рис. 11.8), то в этом случае каждый имеющийся в изображении пиксел должен быть разделен на несколько частей (пикселов меньшего размера). Разумеется, минимальные погрешности ожидают изображение, если исходное значение разрешения увеличивается в число раз, кратное четырем. При этом для определения тона или цвета вновь получаемых пикселов следует применять методы интерполирования, например можно просто повторить тон или цвет исходных (рис. 11.9 и 11.10) или применить более сложные методы.
Информацию об интерполировании см. в разд. "Методы интерполирования".
Любые трансформации пиксельной графики, кроме вращения на ортогональные углы, всегда происходят с деформациями исходного изображения.
Далее рассмотрим примеры прочих трансформирований простых изображений (изображений с сознательно пониженным значением разрешения).