Кодирование цвета. Палитра

   
На этом шаге мы рассмотрим общие вопросы, связанные с кодированием цвета.

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

   
Для модели RGB каждая из компонент может представляться числами, ограниченными некоторым диапазоном - например, дробными числами
от 0 до 1 либо целыми числами от 0 до некоторого максимального значения. В настоящее время достаточно распространенным является формат
True Color, в котором каждая компонента представлена в виде байта, что дает 256 градаций для каждой компоненты: R=0...255, G = 0...255, В = 0...255.
Количество цветов составляет 256*256*256 = 16.7 млн (224).

   
Такой способ кодирования цветов можно назвать компонентным. В компьютере коды изображений True Color представляются
в виде троек байтов, либо упаковываются в длинное целое (четырехбайтное) - 32 бита (так, например, сделано в API Windows):

  С = 00000000 bbbbbbbb gggggggg rrrrrrrr.

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

   
Кроме того, некоторое изображение само по себе может использовать ограниченное количество цветов. Например, для черчения может быть достаточно
двух цветов, для человеческого лица важны оттенки розового, желтого, пурпурного, красного, зеленого; а для неба - оттенки голубого и серого. В этих
случаях использование полноцветного кодирования цвета является избыточным.

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

   
В качестве примера дадим стандартную палитру дисплейных 16-цветных видеорежимов EGA, VGA (таблица 1).

Таблица 1. Палитра дисплейных 16-цветных видеорежимов EGA, VGA

Код цветаRGBНазвание цвета
0000Черный
112000Темно-красный
201280Зеленый
31281280Коричнево-зеленый
400128Темно-синий
51280128Темно-пурпурный
60128128Сине-зеленый
7128128128Серый 50%
8192192192Серый 25%
925500Красный
1002550Ярко-зеленый
112552550Желтый
1200255Синий
132550255Пурпурный
140255255Голубой
15255255255Белый

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

   
Каждый цвет изображения, использующего палитру, кодируется индексом, который будет определять номер строки в таблице палитры. Поэтому такой
способ кодирования цвета называют индексным.

   
На следующем шаге мы рассмотрим формат файлов для хранения растровых изображений.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий