Цветовые модели.

Фундаментальные недостатки векторной графики.

Преимущества векторного способа описания графики над растровой графикой

Способ хранения изображения (в векторной графике)

Рассмотрим, к примеру, такой графический примитив, как окружность радиуса r. Для её построения необходимо и достаточно следующих исходных данных:

1. координаты центра окружности;

2. значение радиуса r;

3. цвет заполнения (если окружность не прозрачная);

4. цвет и толщина контура (в случае наличия контура).

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

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

· Параметры объектов хранятся и могут быть легко изменены. Также это означает что перемещение, масштабирование, вращение, заполнение и т. д. не ухудшат качества рисунка. Более того, обычно указывают размеры в аппаратно-независимых единицах (англ. device-independent unit), которые ведут к наилучшей возможной растеризации на растровых устройствах.

· При увеличении или уменьшении объектов толщина линий может быть задана постоянной величиной, независимо от реального контура.

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

· Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет — трассировка растра, при том, что требует значительных вычислительных мощностей и времени, не всегда обеспечивает высокое качества векторного рисунка.

Если говорить о кодировании цветных графических изображений, то нужно рассмотреть принцип декомпозиции произвольного цвета на основные составляющие. Применяют несколько систем кодирования: HSB, RGB и CMYK. Первая цветовая модель проста и интуитивно понятна, т. е. удобна для человека, вторая наиболее удобна для компьютера, а последняя модель CMYK-для типографий. Использование этих цветовых моделей связано с тем, что световой поток может формироваться излучениями, представляющими собой комбинацию " чистых" спектральных цветов : красного, зеленого, синего или их производных. Различают аддитивное цветовоспроизведение (характерно для излучающих объектов) и субтрактивное цветовоспроизведение (характерно для отражающих объектов). В качестве примера объекта первого типа можно привести электронно-лучевую трубку монитора, второго типа - полиграфический отпечаток.

1) Модель HSB характеризуется тремя компонентами: оттенок цвета(Hue), насыщенность цвета (Saturation) и яркость цвета (Brightness). Можно получить большое количество произвольных цветов, регулируя эти компоненты. Эту цветовую модель лучше применять в тех графических редакторах, в которых изображения создают сами, а не обрабатывают уже готовые. Затем созданное свое произведение можно преобразовать в цветовую модель RGB, если ее планируется использовать в качестве экранной иллюстрации, или CMYK, если в качестве печатной. Значение цвета выбирается как вектор, выходящий из центра окружности. Направление вектора задается в угловых градусах и определяет цветовой оттенок. Насыщенность цвета определяется длиной вектора, а яркость цвета задается на отдельной оси, нулевая точка которой имеет черный цвет. Точка в центре соответствует белому (нейтральному) цвету, а точки по периметру - чистым цветам.

2) Принцип метода RGB заключается в следующем: известно, что любой цвет можно представить в виде комбинации трех цветов: красного (Red, R), зеленого (Green, G), синего (Blue, B). Другие цвета и их оттенки получаются за счет наличия или отсутствия этих составляющих. Экран (как и всякое другое неизлучающее свет тело) - изначально темный. Его исходным цветом является черный. Все остальные цвета на нем получаются путем использования комбинации таких трех цветов, которые в своей смеси должны образовать белый цвет. Эти цвета - красный/зеленый/синий или red/green/blue (RGB). Черный цвет в схеме отсутствует, т.к. это исходный цвет экрана. Значит, отсутствие цвета в RGB схеме соответствует черному цвету. Чтобы получить определенный цвет на экране необходимо взять черный цвет (отсутствие цвета) и добавлять к нему первичные цвета, складывая их друг с другом.

Эта система цветов называется аддитивной (additive) - дополняющей.

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

Для того чтобы сохранить цифровое изображение, его сначала требуется разбить на сетку мелких пикселей (точек). Каждый пиксель замеряется на количество в нем красного, зеленого и синего цветов. Затем все изображение в целом записывается пиксель за пикселем. Для стандартного представления RGB-цвета на каждый первичный цвет схемы приходится по 1 байту. Поэтому значение каждой составляющей может быть закодировано числом от 0 до 255. Например, чтобы залить экран абсолютно красным цветом компьютер должен послать монитору команду RGB (255,0,0).

Качество изображения на экране зависит от следующих факторов:

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

- качество видеосистемы (насколько хорошо она составляет все цвета из комбинации трех цветов)

- окружающее освещение (в темной комнате или на ярком солнце)

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

При 256 градациях тона (каждая точка кодируется 3 байтами) минимальные значения RGB (0,0,0) соответствуют черному цвету, а белому - максимальные с координатами (255, 255, 255). Чем больше значение байта цветовой составляющей, тем этот цвет ярче. Например, темно-синий кодируется тремя байтами ( 0, 0, 128), а ярко-синий (0, 0, 255).

3) Принцип метода CMYK. Эта система цветов называется субтрактивной (subtractive) - исключающей.

Качество изображения на бумаге зависит следующих факторов:

‒ качество бумаги (насколько она бела)

‒ качества красителей (насколько они чисты)

‒ качества полиграфической машины (насколько точно и мелко она наносит краски)

‒ качества разделения цветов (насколько точно сложное сочетание цветов разложено на три цвета)

‒ качества освещения (насколько полон спектр цветов в источнике света, если он искусственный)

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

На бумаге (в системе CMYK) не могут быть представлены некоторые цвета, которые с легкостью можно представить на экране. Если на экране запросто можно сделать оттенок цвета с точностью до бита (#D5DBE7), то в смешивании красителей такой точности добиться просто невозможно. Поэтому часто то, что на экране выглядит потрясающе, на бумаге выглядит блекло и некрасиво. Потому-то так много труда тратится при переводе картинки, сделанной на компьютере, в вид, который достойно будет выглядеть при печати. В некоторых графических редакторах можно заранее переключиться в режим CMYK и создавать изображение в этой схеме.

Эта цветовая модель используется при подготовке публикаций к печати. Каждому из основных цветов ставится в соответствие дополнительный цвет (дополняющий основной до белого). Получают дополнительный цвет за счет суммирования пары остальных основных цветов. Значит, дополнительными цветами для красного является голубой (Cyan,C) = зеленый + синий = белый - красный, для зеленого - пурпурный (Magenta, M) = красный + синий = белый - зеленый, для синего - желтый (Yellow, Y) = красный + зеленый = белый - синий. Причем принцип декомпозиции произвольного цвета на составляющие можно применять как для основных, так и для дополнительных, то есть любой цвет можно представить или в виде суммы красной, зеленой, синей составляющей или же в виде суммы голубой, пурупурной, желтой составляющей. В основном такой метод принят в полиграфии. Но там еще используют черный цвет (BlacК, так как буква В уже занята синим цветом, то обозначают буквой K). Это связано с тем, что наложение друг на друга дополнительных цветов не дает чистого черного цвета.

Различают несколько режимов представления цветной графики:

а) полноцветный (True Color);

б) High Color;

в) индексный.

При полноцветном режиме для кодирования яркости каждой из составляющих используют по 256 значений (восемь двоичных разрядов), то есть на кодирование цвета одного пикселя (в системе RGB) надо затратить 8*3=24 разряда. Это позволяет однозначно определять 16,5 млн цветов. Это довольно близко к чувствительности человеческого глаза. При кодировании с помощью системы CMYK для представления цветной графики надо иметь 8*4=32 двоичных разряда.

Режим High Color - это кодирование при помощи 16-разрядных двоичных чисел, то есть уменьшается количестко двоичных разрядов при кодировании каждой точки. Но при этом значительно уменьшается диапазон кодируемых цветов.

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

Соответствие между количеством отображаемых цветов (К) и количеством бит для их кодировки (а) находиться по формуле: К = 2а.

А К Достаточно для…
2^4 = 16  
2^8 = 256 Рисованных изображений типа тех, что видим в мультфильмах, но недостаточно для изображений живой природы
16 (High Color) 2^16 = 65536 Изображений, которые на картинках в журналах и на фотографиях
24 (True Color) 2^24 = 16 777 216 Обработки и передачи изображений, не уступающих по качеству наблюдаемым в живой природе

Двоичный код изображения, выводимого на экран, хранится в видеопамяти. Видеопамять - это электронное энергозависимое запоминающее устройство. Размер видеопамяти зависит от разрешающей способности дисплея и количества цветов. Но ее минимальный объем определяется так, чтобы поместился один кадр (одна страница) изображения, т.е. как результат произведения разрешающей способности на размер кода пикселя: Vmin = M*N*a.

Двоичный код восьмицветной палитры.

Цвет Составляющие
  К З С
Красный
Зеленый
Синий
Голубой
Пурпурный
Желтый
Белый
Черный

Шестнадцатицветная палитра позволяет увеличить количество используемых цветов. Здесь будет использоваться 4-разрядная кодировка пикселя: 3 бита основных цветов + 1 бит интенсивности. Последний управляет яркостью трех базовых цветов одновременно (интенсивностью трех электронных пучков).

Двоичный код шестнадцатицветной палитры.

Цвет Составляющие
  К З С Интенсивность
Красный
Зеленый
Синий
Голубой
Пурпурный
Ярко-желтый
Серый(белый)
Темно-серый
Ярко-голубой
Ярко-синий
       
Ярко-белый
Черный

При раздельном управлении интенсивностью основных цветов количество получаемых цветов увеличивается. Так для получения палитры при глубине цвета в 24 бита на каждый цвет выделяется по 8 бит, то есть возможны 256 уровней интенсивности (К = 28).

Двоичный код 256-цветной палитры.

Цвет Составляющие
  K З С
Красный
Зеленый
Синий
Голубой
Пурпурный
Желтый
Белый
Черный