Автор работы: Пользователь скрыл имя, 17 Февраля 2013 в 20:53, шпаргалка
Разделы компьютерной графики
Виды компьютерной графики: Растровая графика, Векторная графика
Соотношение между векторной и растровой графикой
Понятие о фрактальной графике
Разрешение изображения и его размер, Цвета
Масштабирование изображений
Форматы графических данных
Система аддитивных цветов работает с излучаемым светом. Аддитивный цвет получается при объединении разноцветных лучей света. В системе используются три основных цвета: красный, зеленый и синий (Red, Green, Blue — RGB). При смешивании их в разных пропорциях получается соответствующий цвет. При 256 градационных уровнях тона черному цвету соответствуют нулевые значения RGB, а белому — максимальные, с координатами (255,255,255).
а) Аддитивный цвет б) Субтрактивный цвет
В системе субтрактивных цветов происходит обратный процесс: какой-либо цвет получается вычитанием других цветов из общего луча света. При этом белый цвет получается в результате отсутствия всех цветов, а присутствие всех цветов дает черный цвет. Система субтрактивных цветов работает с отраженным цветом, например, от листа бумаги. Белая бумага отражает все цвета, окрашенная — некоторые поглощает, остальные отражает.
В системе субтрактивных цветов основными являются голубой, пурпурный и желтый цвета (Cyan, Magenta, Yellow — CMY) — дополнительные красному, зеленому и синему. Когда эти цвета смешивают на бумаге в равной пропорции, получается черный цвет. В связи с тем, что типографские краски не полностью поглощают свет, комбинация трех основных цветов выглядит темно-коричневой. Поэтому для корректировки тонов и получения истинно черного цвета в принтеры добавляют черную краску. Системы цветов, основанные на таком принципе четырехцветной печати, обозначают аббревиатурой CMYK (Cyan, Magenta, Yellow, Black).
Рассмотренные системы работают со всем спектром цветов — миллионами возможных оттенков. Однако пользователю часто достаточно не более нескольких сотен цветов. В этом случае удобно использовать индексированные палитры — наборы цветов, содержащие фиксированное количество цветов, например, 16 или 256, из которых можно выбрать необходимый цвет. Преимуществом таких палитр является то, что они занимают гораздо меньше памяти, чем полные системы RGB и CMYK.
При работе с изображением компьютер создает палитру и присваивает каждому цвету номер, затем при указании цвета отдельного пикселя или объекта просто запоминается номер, который имеет данный цвет в палитре. Для запоминания числа от 1 до 16 необходимо 4 бита памяти, а от 1 до 256 — 8 битов, поэтому изображения, имеющие 16 цветов называют 4-битовыми, а 256 цветов — 8-битовыми. При сравнении с 24 битами, необходимыми для хранения полного цвета в системе RGB, или с 32 битами — в системе CMYK, экономия памяти очевидна.
При работе с палитрой можно применять любые цвета, например, системы RGB, но ограниченное их количество. Так, при использовании 256-цветовой палитры в процессе ее создания и нумерации каждый цвет в палитре описывается как обычный 24-битовый цвет системы RGB. А при ссылке на какой-либо цвет уже указывается его номер, а не конкретные данные системы RGB, описывающие этот цвет.
Масштабирование заключается в изменении вертикального и горизонтального размеров изображения. Масштабирование может быть пропорциональным — в этом случае соотношение между высотой и шириной рисунка не изменяется, а меняется общий размер, и непропорциональным — в этом случае оба измерения изменяются по-разному.
Масштабирование векторных рисунков выполняется просто и без потери качества. Так как объекты векторной графики создаются по их описаниям, то для изменения масштаба векторного объекта, достаточно изменить его описание. Например, чтобы увеличить в два раза векторный объект, следует удвоить значение, описывающее его размер.
Масштабирование растровых рисунков является намного более сложным процессом, чем для векторной графики, и часто сопровождается потерей качества. При изменении размеров растрового изображения выполняется одно из следующих действий:
• одновременное изменение размеров всех пикселей (в большую или меньшую сторону);
• добавление или убавление пикселей из рисунка для отражения производимых в нем изменений, называемое выборкой пикселей в изображении.
Простейший способ изменения масштаба растрового рисунка состоит в изменении размера всех его пикселей. Так как внутри самого рисунка пиксели не имеют размера и приобретают его уже при выводе на внешнее устройство, то изменение размера пикселей растра в сильной степени похоже на масштабирование векторных объектов — необходимо сменить только описание пикселя, а остальное выполнит устройство вывода.
Устройство вывода для создания пикселя определенного физического размера использует столько своих минимальных элементов (лазерных точек — для лазерного принтера, видеопикселей — для монитора), сколько сможет. При масштабировании изображения количество входящих в него пикселей не меняется, а изменяется количество создаваемых устройством вывода элементов, идущих на построение отдельного пикселя изображения.
Выборка растрового рисунка может быть сделана двумя различными способами. По первому способу просто дублируется или удаляется необходимое количество пикселей. При этом в результате масштабирования, как правило, ухудшается качество изображения. Например, при увеличении размера рисунка возрастают его зернистость и дискретность. При уменьшении размера рисунка потери в качестве не столь заметны, однако при последующем восстановлении уменьшенного рисунка до прежнего размера опять возрастают зернистость и дискретность. Это связано с тем, что при уменьшении размера рисунка часть пикселей была удалена из исходного изображения и потеряна безвозвратно, а при последующем восстановлении размеров рисунка недостающие пиксели дублировались из соседних.
По второму способу с помощью определенных вычислений можно создать пиксели другого цвета, определяемого цветами первоначального пикселя и его окружения. Этот метод называется интерполяцией и является более сложным, чем простое дублирование. При интерполяции кроме дублируемых пикселей, отбираются и соседние с ними, с помощью которых вновь создаваемые пиксели получают от существующих усредненный цвет или оттенок серого. В результате переходы между пикселями становятся более плавными, что позволяет убрать или уменьшить эффект «пилообразности» изображения.
Способы хранения изображений в дисковом файле тесно связаны с форматами, которые обычно идентифицируются по расширению имени файла (JPG, TIF, GIF, PCX, PNG, BMP и т. д.). Таких форматов существует как минимум несколько десятков, причем каждая более-менее продвинутая фирма считала своим долгом патентование собственного способа хранения — вероятно, чтобы не платить лицензионные отчисления кому-то, и в надежде, что платить будут когда-нибудь им самим. В результате наиболее популярными стали бесплатные форматы.
Один из самых простых форматов — BMP, введенный в обиход фирмой «Микрософт» с появлением Windows и получивший свое название от слов Bits Map — «карта битов». Чаще всего файлы BMP не используют сжатия. Для трехбайтового — 24-битового — представления цвета палитра не приводится, а указывается, что применяется палитра True Color. Поэтому оценить размер BMP-файла просто: умножив ширину на высоту в пикселях, а затем еще на три (если изображение полноцветное), вы получите нужную величину. Разумеется, это очень неэкономный способ хранения изображений — но простой и гарантирующий последующее воспроизведение без потерь, поэтому его использует, например, буфер обмена в Windows. Единственная его странность — в самой матрице байты, описывающие отдельные пиксели, располагаются в строках нормально, слева направо, а вот нумерация строк идет почему-то снизу вверх.
Еще одним оригинальным форматом от «Микрософт» является WMF — Windows MetaFile. Он не получил широкого распространения за пределами MS Office, зато пользователи последнего его хорошо знают: именно в нем хранятся стандартные картинки в Clipboard. WMF неплохо подходит для сохранения графических примитивов, поддерживает «прозрачный» цвет, но для серьезного применения непригоден — файлы получаются неоправданно большими.
TIF (TIFF — Target Image File Format) был разработан фирмой Aldus Corporation для хранения графических изображений высокого разрешения, полученных с помощью сканера, в 1986 году. Он одинаков для всех без исключения компьютеров мира — от рабочих станций Silicon Graphic до «Маков» и PC. Вообще-то, стандарт TIFF предусматривает множество всяких опций — вплоть до задания типа принтера, на котором будет распечатываться изображение, или окончательного размера его в дюймах по ширине и длине, а конкретная программа хочет — читает соответствующие поля, хочет — игнорирует. Причем теоретически вTIF-файлах может применяться любой алгоритм сжатия (даже JPEG), но чаще изображения в этом формате не сжимаются.
Размеры цветных файлов в несжатом TIF'e получаются неподъемные, но его очень любят верстальщики — им ничего не надо делать, только отредактировать и переслать в типографию.
Если внимательно приглядеться к некоторым изображениям, легко увидеть, значительную часть картинки занимает ровное поле одного цвета (что особенно характерно для графики, чертежей или, например, пейзажей с голубым небом, занимающим две трети снимка). Возникает естественный вопрос — нельзя ли весь этот кусок одного цвета хотя бы для каждой строки заменить на несколько байт? Первый из них описывал бы количество пикселей, которое следует повторить до ближайшего изменения цвета, остальные (число зависит от глубины палитры) — сам цвет. Экономия получается иногда просто поразительная — в несколько раз. Правда, такой метод, получивший название RLE-кодирование, в некоторых случаях приводит к увеличению объема файла. Поэтому разработано множество других способов сжатия (LZW, метод Хаффмана и другие). Главная особенность этих методов (похожим образом устроены популярные архиваторы типа ZIP, RAR или ARJ) — нет потери качества исходного изображения (подобно тому, как архивирование текстов позволяет их восстановить без всяких изменений). Но зато степень сжатия в этом случае сильно зависит от исходного изображения — для ровных одноцветных полей она велика, но минимальна для насыщенных полутонами многоцветных фотографий
Один из наиболее эффективных и самый, пожалуй, остроумный формат (ставший особенно популярным с развитием Интернета) был придуман фирмой CompuServe еще в 1987 году и получил название «формат графического обмена», Graphical Interchange Format — GIF. Идея там состояла вот в чем: ни одно реальное изображение, кроме специально синтезированных, никогда не использует всех 16 миллионов цветов доступной палитры. Большинство даже полутоновых фотографий, не говоря о рисунках, имеет в палитре не более пары-тройки сотен различимых глазом оттенков. Однако набор этих оттенков строго индивидуален для каждого изображения. Вот программисты фирмы CompuServe и предложили создавать для каждого изображения свой личный набор цветов (палитру), не превосходящий 256 оттенков (то есть кодирующийся всего одним байтом на пиксель), зато максимально близкий к реально существующей. Поверх этого ухищрения полученная матрица пикселей еще и сжимается алгоритмом LZW — в результате в некоторых случаях степень сжатия достигает нескольких десятков раз — причем, обратите внимание, фактически без потери качества. Рисунок в формате BMP, займет примерно 600 Кбайт, а в формате GIF (ничуть не потеряв ни в разрешении, ни в качестве) — килобайт 15, т. е. степень сжатия достигает здесь примерно сорока, что очень неплохо даже для JPEG'a. Но следует помнить, такие идеальные условия справедливы только для изображений, которые на самом деле имеют не более 256 цветов в палитре — например, можно настоятельно рекомендовать использовать формат GIF для черно-белых фотографий и рисунков, а также чертежей, логотипов и прочего, что в меню сканеров обычно именуют «Color-DOC». В этом случае гарантировано, что вы получите наивысшую возможную степень сжатия без потери качества, и даже не думайте потом пробовать еще сэкономить, загружая такие рисунки в архиватор — файл, скорее всего, увеличится в размерах. А действительно многоцветные пейзажи с плавным переходом полутонов вы безвозвратно испортите.
В 1989 году в стандарт GIF была введена возможность элементарной анимации. В GIF-файле вы можете расположить друг за другом последовательные кадры мини-ролика и увидеть какого-нибудь человечка, барабанящего по клавишам компьютера, или прыгающую от радости мышку, получившую в подарок сотовый телефон. Каждый пользователь Интернета много раз наблюдал подобное в рекламных баннерах — все они традиционно выполняются в формате GIF.
Одним из свойств несжатых (или сжатых без потери качества) изображений, за которое их так любят профессионалы, является фактически неограниченная способность к масштабированию — при увеличении вы просто теряете разрешающую способность (то есть четкость), но характер изображения при этом не меняется. В отличие от этого, форматы на основе «сжатия с потерями» позволяют добиться в ряде случаев намного большей степени сжатия без видимого ухудшения качества, но что потеряли — потеряли навсегда. Правда, иногда выхода нет — если хотите получить красивый портрет или пейзаж нормального качества, с сохранением размеров, достаточных для распечатки на цветном принтере приемлемого формата, и при этом не забивать жесткий диск и электронную почту друзей своими фотографическими опытами, волей-неволей приходится использовать JPEG.
JPEG — изобретение объединенной группы экспертов по фотографии (Joint Photographic Experts Group) из ISO — международной организации по стандартизации. Метод JPEG дает возможность пользователю выбирать степень сжатия — при снижении уровня качества можно уменьшить размер картинки. Иногда, впрочем, это достигается ценой существенного снижения качества восстановленного изображения, так что увлекаться погоней за минимальным размером файла не следует.
Раздраженное недостатками
того или иного способа хранения
изображений Интернет-
В начале 2000 года группой экспертов JPEG опубликован новый, более совершенный алгоритм сжатия под названием JPEG 2000. Он соединил в себе преимущества старого способа с добавлением новых возможностей — так, в нем поддерживается различная глубина палитры цветов (а не только 24 бита). С помощью этого алгоритма можно без опасения сжимать даже двухцветные картинки, введен «прозрачный» цвет, сжатие осуществляется более совершенными алгоритмами и т. д. Однако широкое распространение форматов, основанных на алгоритме JPEG 2000, как и форматов типа PNG еще, видимо, впереди.