Скачать 1.57 Mb.
|
Глава 1 Методы Графических изображений В этой главе: • принцип растровой графики • основные понятия растровой графики • достоинства растровой графики • недостатки растровой графики • принцип векторной графики • основные понятия векторной графики • достоинства векторной графики • недостатки векторной графики • особенности редакторов растровой и векторной графики §1.1. Растровая графика Растровое изображение представляет собой мозаику из очень мелких элементов — пикселей. Оно похоже на лист клетчатой бумаги, на котором каждая клеточка (пиксель) закрашена определенным цветом, и в результате такой раскраски формируется изображение (рис. 1.1). Как вы видите, принцип растровой графики чрезвычайно прост. Он был изобретен и использовался людьми за много веков до появления компьютеров. Изображение строится из дискретных элементов в таких направлениях искусства, как мозаика, витражи, вышивка. Другой пример: эффективным способом переноса изображения с подготовительного картона на стену, предназначенную для фрески, является рисование «по клеточкам». Суть этого метода заключается в следующем. Картон с рисунком и стена, на которую будет переноситься рисунок, покрываются равным количеством клеток, затем фрагмент рисунка из каждой клетки картона тождественно изображается в соответствующей клетке стены. Рис. 1.1. Растровое изображение Растровая графика работает с сотнями и тысячами пикселей, которые формируют рисунок. В компьютерной графике термин «пиксель», вообще говоря, может обозначать разные понятия: ■ наименьший элемент изображения на экране компьютера; ■ отдельный элемент растрового изображения; ■ точку изображения, напечатанного на принтере. Поэтому, чтобы избежать путаницы, будем пользоваться следующей терминологией: ■ видеопиксель — наименьший элемент изображения на экране; ■ пиксель — отдельный элемент растрового изображения; ■ точка — наименьший элемент, создаваемый принтером. При этом для изображения одного пикселя могут быть использованы один или несколько видеопикселей или точек. Экран дисплея разбит на фиксированное число видеопикселей, которые образуют графическую сетку (растр) из фиксированного числа строк и столбцов. Размер графической сетки обычно представляется в форме .V × М, где N — количество видеопикселей по горизонтали, а М — по вертикали. На современных дисплеях используются, например, такие размеры графической сетки: 640×480, 800×600, 1024×768, 1240×1024 и др. Видеопиксели очень малы (менее 0,3 мм) и расположены близко друг к другу. Чтобы изображение могло восприниматься глазом, его необходимо составить из сотен или тысяч видеопикселей, каждый из которых должен иметь свой собственный цветовой оттенок. Увеличенный видеопиксель представляет собой квадратик (рис. 1.2 и рис. I на цветной вклейке). Рис. 1.2. Каждый маленький квадратик на нижнем изображении — увеличенный видеопиксель Достоинства растровой графики 1. Каждому видеопикселю можно придать любой из миллионов цветовых оттенков. Если размеры пикселей приближаются к размерам видеопикселей, то растровое изображение выглядит не хуже фотографии (рис. 1.3). Таким образом, растровая графика эффективно представляет изображения фотографического качества 2. Компьютер легко управляет устройствами вывода, которые используют точки для представления отдельных пикселей. Поэтому растровые изображения могут быть легко рас печатаны на принтере. Рис. 1.3. Растровые изображения, полученные в результате сканирования фотографий Недостатки растровой графики 1. В файле растрового изображения запоминается информация о цвете каждого видеопикселя в виде комбинации битов. Изображение наиболее простого типа имеет только два цвета (например, белый и черный). В этом случае для кодирования цвета каждого видеопикселя требуются два значения, значит, достаточно одного бита памяти — двух (2 ) значений: 0 и 1. Если цвет видеопикселя определяется двум; битами, то мы имеем четыре (22) возможных комбинация 0 и 1: 00, 01, 10, 11, значит, уже можно закодировать четы ре цвета. Четыре бита памяти позволяют закодировать К (24) цветов, восемь битов — 256 (28) цветов, 24 бита — 16 777 216 (224) различных цветовых оттенков. Простые растровые картинки занимают небольшой объем памяти (несколько десятков или сотен килобайтов). Изображения фотографического качества часто требуют нескольких мегабайтов. Например, если размер графической сетки 1240 х 1024, а количество используемых цветов — 16 777 216, то объем растрового файла составляет около 4 Мб, так как информация о цвете видеопикселей в файле занимает 1240 • 1024 • 24 = 30 474 240 (бит), или 30 474 240 : 8 = 3 809 280 (байт), или 3 809 280 : 1024 = 3720 (Кб), или 3720 : 1024 = 3,63 (Мб). Таким образом, для хранения растровых изображений требуется большой объем памяти. Самым простым решением проблемы хранения растровых изображений является увеличение емкости запоминающих устройств компьютера. Современные жесткие и оптические диски предоставляют значительные объемы памяти для данных. Оборотной стороной этого решения является стоимость, хотя цены на эти запоминающие устройства в последнее время заметно снижаются. Другой способ решения проблемы заключается в сжатии графических файлов, т. е. использовании программ, уменьшающих размеры файлов растровой графики за счет изменения способа организации данных. Существует несколько методов сжатия графических данных. В простейшем из них последовательность повторяющихся величин (в нашем случае — набор битов для представления видеопикселей) заменяется парой величин — повторяющейся величиной и количеством ее повторений. На рис. 1.4 показано, как подобным образом может быть сжата одна строка черно-белого растрового рисунка. Такой метод сжатия называется RLE (Run-Length Encoding). Метод RLE лучше всего работает с изображениями, которые содержат большие области однотонной закраски, но намного хуже с его помощью сжимаются фотографии, так как в них почти нет длинных строк из пикселей одинакового цвета. Сильно насыщенные узорами изображения хорошо сжимаются методом LZW (его название составлено из первых букв фамилий его разработчиков — Lempel, Ziv и Welch). Объединенная группа экспертов по фотографии (Joint Photographic Experts Group) предложила метод JPEG для сжатия изображений фотографического качества. 2. Растровое изображение после масштабирования или вращения может потерять свою привлекательность. Например, области однотонной закраски могут приобрести странный узор; кривые и прямые линии, которые выглядели гладкими, могут неожиданно стать пилообразными. Если уменьшить, а затем снова увеличить до прежнего размера растровый рисунок, то он станет нечетким и ступенчатым, а закрашенные области могут быть искажены. Причина в том, что изменение размеров растрового изображения производится одним из двух способов: ■ все пиксели рисунка изменяют свой размер (становятся больше или меньше); ■ пиксели добавляются или удаляются из рисунка (это называется выборкой пикселей в изображении). При первом способе масштабирование изображения не меняет количество входящих в него пикселей, но изменяется количество элементов (видеопикселей или точек), необходимых для построения отдельного пикселя (рис. 1.5), и при увеличении рисунка «ступенчатость» становится все более заметной — каждая точка превращается в квадратик. Выборка же пикселей в изображении может быть сделана двумя способами. Во-первых, можно просто продублировать или удалить необходимое число пикселей. Во-вторых, с помощью определенных вычислений программа может создать пиксели другого цвета, определяемого первоначальным пикселем и его окружением. При этом возможно исчезновение из рисунка мелких деталей и тонких линий, а также уменьшение резкости изображения (размытие). Рис. 1.4. Сжатие последовательности пикселей Рис. 1.5. Изменение размеров изображения без изменения количества входящих в него пикселей: а — исходное изображение, б — увеличенное изображение Так как графический редактор Paint (стандартная программа Windows) является растровым, то в нем легко продемонстрировать результаты масштабирования изображений и объяснить причины возникающих искажений. Итак, растровые изображения имеют ограниченные возможности при масштабировании, вращении и других преобразованиях. § 1.2. Векторная графика В векторной графике изображения строятся из простых объектов — прямых линий, дуг, окружностей, эллипсов, прямоугольников, областей одного или разных цветов и т. п., называемых примитивами. Из простых векторных объектов создаются различные рисунки (рис. 1.6). Комбинируя векторные объекты-примитивы и используя закраску различными цветами, можно получить и более интересные иллюстрации (рис. 1.7 и рис. II на цветной вклейке). В трехмерной компьютерной графике могут использоваться объемные примитивы — куб, сфера и т. п. Векторные примитивы задаются с помощью описаний. Примеры описаний: рисовать линию от точки А до точки В рисовать эллипс, ограниченный заданным прямоугольником Для компьютера подобные описания представляются в виде команд, каждая из которых определяет некоторую функцию и ее параметры. Символические команды для приведенных выше примеров описаний в векторном формате WMF (Windows Metafile) записываются так: MOVETO XI, Y1 Установить текущую позицию в точке с координатами (XI, Y1). LINETO X2,Y2 Нарисовать линию от текущей позиции до позиции с координатами (X2,Y2). ELLIPSE X3,Y3,X4,Y4 Нарисовать эллипс, ограниченный прямоугольником, где (ХЗ, Y3) — координаты левого верхнего, а (Х4, Y4) — правого нижнего угла этого прямоугольника. Рис. 1.7. Векторные рисунки Информация о цвете объекта сохраняется как часть его описания, т. е. в виде векторной команды (сравните: для растровых изображений хранится информация о цвете каждого видеопикселя). Векторные команды сообщают устройству вывода о том, что необходимо нарисовать объект, используя максимально возможное число элементов (видеопикселей или точек). Чем больше элементов используется устройством вывода для создания объекта, тем лучше этот объект выглядит. Кто составляет последовательность векторных команд? Для получения векторных изображений, как правило, используются редакторы векторной графики (Adobe Illustrator, Macromedia Freehand, CorelDRAW), которые широко применяются в области дизайна, технического рисования, а также для оформительских работ. Эти редакторы предоставляют в распоряжение пользователя набор инструментов и команд, с помощью которых создаются рисунки. В процессе рисования специальное программное обеспечение формирует векторные команды, соответствующие объектам, из которых строится рисунок. Вероятнее всего, что пользователь такого редактора никогда не увидит векторных команд. Однако знания о том, как описываются векторные рисунки, помогают понять достоинства и недостатки векторной графики. Файлы векторной графики могут содержать растровые изображения в качестве объектов одного из типов (рис. 1.8). Большинство редакторов векторной графики позволяют только разместить растровое изображение в векторной иллюстрации, изменить его размер, выполнить перемещение, поворот, обрезку, но не дают возможности работать с отдельными пикселями. Дело в том, что векторные рисунки состоят из отдельных объектов, с которыми можно работать порознь. С растровыми же изображениями так поступать нельзя, так как объектом здесь является весь растровый фрагмент в целом. Но в некоторых редакторах векторной графики допускается применение к растровым объектам специальных эффектов размытия и резкости, в основе которых лежит изменение цветов соседних пикселей (пиксель обладает одним свойством — цветом). Рис. 1.8. Фотография, вставленная в документ редактора векторной графики Достоинства векторной графики 1. Векторные изображения, не содержащие растровых объектов, занимают относительно небольшой объем памяти компьютера. Даже векторные рисунки, состоящие из тысяч примитивов, требуют память, объем которой не превышает нескольких сотен килобайтов. Для аналогичного растрового рисунка необходима в 10-1000 раз большая память. Рассмотрим такой пример. Пусть векторное описание квадрата в системе координат экрана определяется следующим образом: RECTANGLE 1, 1, 200, 200, Red, Green Здесь: (1, 1) — координаты левого верхнего, а (200, 200) ― правого нижнего угла квадрата; Red — цвет закраски, Green — цвет контура. Такое описание требует 30 байтов памяти (двоичный код символа занимает 1 байт). Этот же квадрат в виде несжатого растрового изображения с 256 цветами будет занимать память объемом 200 ·200·8 = 320 000 (бит), или 320 000 : 8 = 40 000 (байт), или 40 000 : 1024 = 39,06 (Кб). Отсюда следует, что несжатое растровое описание квадрата в нашем примере требует в 1333 раза большей памяти (40000 : 30 = 1333,333), чем его векторное описание. Таким образом, векторные изображения занимают относительно небольшой объем памяти. 2. Векторные объекты задаются с помощью описаний. Поэтому, чтобы изменить размер векторного рисунка, нужно исправить его описание. Например, для увеличения или уменьшения эллипса достаточно изменить координаты левого верхнего и правого нижнего углов прямоугольника, ограничивающего этот эллипс. И снова для рисования объекта будет использоваться максимально возможное число элементов (видеопикселей или точек). Следовательно, векторные изображения могут быть легко масштабированы без потери качества. Замечание. В ряде случаев возможно преобразование растровых изображений в векторные. Этот процесс называется трассировкой. Программа трассировки растровых изображений отыскивает группы пикселей с одинаковым цветом, а затем создает соответствующие им векторные объекты. Однако получаемые результаты чаще всего нуждаются в дополнительной обработке. Недостатки векторной графики 1. Прямые линии, окружности, эллипсы и дуги являются основными компонентами векторных рисунков. Поэтому до недавнего времени векторная графика использовалась для построения чертежей, диаграмм, графиков, а также для создания технических иллюстраций. С развитием компьютерных технологий ситуация несколько изменилась: сегодняшние векторные изображения по качеству приближаются к реалистическим. Однако векторная графика не позволяет получать изображения фотографического качества. Дело в том, что фотография — мозаика с очень сложным распределением цветов и яркостей пикселей и представление такой мозаики в виде совокупности векторных примитивов — достаточно сложная задача. 2. Векторные изображения описываются десятками, а иногда и тысячами команд. В процессе печати эти команды передаются устройству вывода (например, лазерному принтеру). При этом может случиться так, что на бумаге изображение будет выглядеть совсем иначе, чем хотелось пользователю, или вообще не распечатается. Дело в том, что принтеры содержат свои собственные процессоры, которые интерпретируют переданные им команды. Поэтому сначала нужно проверить, понимает ли принтер векторные команды данного стандарта, напечатав какой-нибудь простой векторный рисунок. После успешного завершения его печати можно уже печатать сложное изображение. Если же принтер не может распознать какой-либо примитив, то следует заменить его другим — похожим, понятным принтеру. Таким образом, векторные изображения иногда не печатаются или выглядят на бумаге не так, как хотелось бы. § 1.3. Сравнение растровой и векторной графики Теперь мы можем дать сравнительную характеристику растровой и векторной графики. Представим ее в виде таблицы (табл. 1.1). Сравнительная характеристика векторной и растровой графики
Таблица 1.1 § 1.4. Особенности редакторов растровой и векторной графики Графические редакторы — это инструменты компьютерного художника, с помощью которых он создает и редактирует изображения. В настоящее время существует много различных графических редакторов. Поэтому важно знать, какой редактор наилучшим образом подходит для решения конкретной задачи. Улучшение качества изображений, а также монтаж фотографий выполняются в редакторах растровой графики. Для создания иллюстраций обычно используются редакторы векторной графики, которые также называют программами рисования. Любой графический редактор содержит набор инструментов для работы с изображениями. Инструмент Кривая (Кисть или Карандаш) предназначен для рисования прямых и кривых линий. Инструменты Прямоугольник, Эллипс, Многоугольник используются для построения геометрических фигур. Закраска выполняется инструментом Заливка. Для создания надписей и заголовков используется инструмент Текст. При работе с изображением часто возникает необходимость увеличить его фрагмент, чтобы лучше рассмотреть мелкие детали. В этом случае нужно воспользоваться инструментом Масштаб. Несмотря на то, что редакторы растровой и векторной графики могут использовать одинаковые инструменты, способы представления создаваемых ими изображений различны. В графических редакторах реализованы возможности, позволяющие перемещать, копировать, удалять, масштабировать, зеркально отражать, вращать отдельные части изображений. Прежде, чем выполнить операцию над фрагментом изображения, его необходимо выделить. В редакторах векторной графики выделяют объекты (векторные примитивы), а в редакторах растровой графики — области (наборы пикселей). Чтобы выделить объект, достаточно щелкнуть на нем мышью. Выделение же области — более сложная задача, так как в этом случае необходимо точно указать, какая группа пикселей составляет область (например, цветок или яблоко). Вот почему в редакторах растровой графики встречаются разнообразные инструменты выделения. Некоторые из них используются для выделения областей простой формы (прямоугольников или эллипсов), другие — для выделения областей со сложной криволинейной границей. Так как основное понятие растровой графики — пиксель, большинство инструментов и команд редакторов растровой графики изменяют яркость и цветовые оттенки отдельных пикселей. Это дает возможность улучшать резкость изображений, осветлять или затемнять отдельные его фрагменты, а также удалять небольшие дефекты (морщинки, царапины и т. д.). Основное понятие векторной графики — объект. Поэтому редакторы векторной графики содержат команды упорядочивания, взаимного выравнивания, пересечения объектов, исключения одних объектов из других. Таким образом, можно создавать новые объекты сложной формы из более простых. Как правило, в редакторах растровой и векторной графики имеются средства для получения эффекта объема. Однако трехмерные образы реальных объектов (персонажи, интерьеры и т. д.) следует создавать в программах трехмерного моделирования. Коротко о главном 1. Растровое изображение представляет собой мозаику из очень мелких элементов — пикселей. Оно похоже на лист клетчатой бумаги, на котором каждая клеточка (пиксель) закрашена определенным цветом, и в результате такой раскраски формируется изображение. 2. Видеопиксель — наименьший элемент изображения на экране. Пиксель — отдельный элемент растрового изображения. Точка — наименьший элемент, создаваемый принтером. 3.Достоинства растровой графики: ■ растровая графика эффективно представляет изображения фотографического качества; ■ растровые изображения могут быть легко распечатаны на принтере. 4. Недостатки растровой графики: ■ для хранения растровых изображений требуется большой объем памяти; ■ растровые изображения имеют ограниченные возможности при масштабировании, вращении и других преобразованиях. 5. В векторной графике изображения строятся из простых объектов — прямых линий, дуг, окружностей, эллипсов, прямоугольников, областей одного или разных цветов и т. п., называемых примитивами. 6. Каждый примитив описывается в виде команды, которая определяет некоторую функцию и ее параметры. 7. Достоинства векторной графики: ■ векторные изображения занимают относительно небольшой объем памяти; ■ векторные изображения могут быть легко масштабированы без потери качества. 8. Недостатки векторной графики: ■ векторная графика не позволяет получать изображения фотографического качества; ■ векторные изображения иногда не распечатываются или выглядят на бумаге не так, как хотелось бы. 9. Графические редакторы — это инструменты, с помощью которых художник создает и редактирует изображения на компьютере. Для создания иллюстраций обычно используются редакторы векторной графики. Улучшение качества изображений, а также монтаж фотографий выполняются в редакторах растровой графики. 10. Прежде чем выполнить операцию над фрагментом изображения, его необходимо выделить. В редакторах векторной графики выделяют объекты (векторные примитивы), а в редакторах растровой графики — области (наборы пикселей). Контрольные вопросы 1. В чем заключается принцип растровой графики? 2. Что обозначают понятия «пиксель», «видеопиксель», «точка»? 3. Почему растровая графика эффективно представляет изображения фотографического качества? 4. Почему для хранения растровых изображений требуется большой объем памяти? 5. Почему растровое изображение искажается при масштабировании? 6. В виде чего хранится описание векторных изображений? 7. Кто составляет последовательность векторных команд? 8. Почему векторные изображения могут быть легко масштабированы без потери качества? 9. Почему векторная графика не позволяет получать изображений фотографического качества? 10. Для решения каких задач используются редакторы растровой графики? 11. Для решения каких задач используются редакторы векторной графики? 12. Почему в редакторах растровой и векторной графики выделение фрагментов изображения выполняется по-разному? |