Двоичное кодирование графической информации
Важным этапом кодирования графического изображения является разбиение его на дискретные элементы (дискретизация).
Основными способами представления графики для ее хранения и обработки с помощью компьютера являются растровые и векторные изображения.
Векторное изображение представляет собой графический объект, состоящий из элементарных геометрических фигур (чаще всего отрезков и дуг). Положение этих элементарных отрезков определяется координатами точек и величиной радиуса. Для каждой линии указывается двоичные коды типа линии (сплошная, пунктирная, штрихпунктирная), толщины и цвета.
Растровое изображение представляет собой совокупность точек (пикселей), полученных в результате дискретизации изображения в соответствии с матричным принципом.
Матричный принцип кодирования графических изображений заключается в том, что изображение разбивается на заданное количество строк и столбцов. Затем каждый элемент полученной сетки кодируется по выбранному правилу.
Pixel (picture element - элемент рисунка) - минимальная единица изображения, цвет и яркость которой можно задать независимо от остального изображения.
В соответствии с матричным принципом строятся изображения, выводимые на принтер, отображаемые на экране дисплея, получаемые с помощью сканера.
Качество изображения будет тем выше, чем "плотнее" расположены пиксели, то есть чем больше разрешающая способность устройства, и чем точнее закодирован цвет каждого из них.
Для черно-белого изображения код цвета каждого пикселя задается одним битом.
Если рисунок цветной, то для каждой точки задается двоичный код ее цвета.
Поскольку и цвета кодируются в двоичном коде, то если, например, вы хотите использовать 16-цветный рисунок, то для кодирования каждого пикселя вам потребуется 4 бита (16=24), а если есть возможность использовать 16 бит (2 байта) для кодирования цвета одного пикселя, то вы можете передать тогда 216 = 65536 различных цветов. Использование трех байтов (24 битов) для кодирования цвета одной точки позволяет отразить 16777216 (или около 17 миллионов) различных оттенков цвета - так называемый режим “истинного цвета” (True Color). Заметим, что это используемые в настоящее время, но далеко не предельные возможности современных компьютеров.
Графическая информация, как и информация любого другого типа, хранятся в памяти компьютера в виде двоичных кодов. Изображение, состоящее из отдельных точек, каждая из которых имеет свой цвет, называется растровым изображением. Минимальный элемент такого изображения в полиграфии называется растр, а при отображении графики на мониторе минимальный элемент изображения называют пиксель (pix).
Пиксель | Растр |
Рис. 4.1. Минимальная единица изображения: пиксель и растр.
Если пиксель изображения может быть раскрашен только в один из 2х цветов, допустим, либо в черный (0), либо в белый (1), то для хранения информации о цвете пикселя достаточно 1 бита памяти (log2(2)=1 бит). Соответственно, объем, занимаемый в памяти компьютера всем изображением, будет равен числу пикселей в этом изображении (рис. 20а).
Если под хранение информации о цвете пикселя выделить 2 бита, то число цветов, допустимых для раскраски каждого пикселя, увеличится до 4х (N=22=4), а объем файла изображения в битах будет вдвое больше, чем количество составляющих его пикселей (рис. 20b).
Рис. 4.2. 1 бит на пиксель – 2 цвета. | Рис. 4.3. 2 бита на пиксель – 4 цвета. |
При печати на не цветном принтере обычно допускает 256 градаций серого цвета (от черного (0) до белого (255)) для раскраски каждой точки изображения. Под хранение информации о цвете точки в этом случае отводится 1 байт, т.е. 8 бит (log2(256)=8 бит).
Восприятие цвета
Цвет — это ощущение, которое возникает в сознании человека при воздействии на его зрительный аппарат электромагнитного излучения с длиной волны в диапазоне от 380 до 760 нм. Эти ощущения могут быть вызваны и другими причинами: болезнь, удар, мысленная ассоциация, галлюцинации, и др.
Способность к цветоощущению возникла в процессе эволюции как реакция адаптации, как способ получения сведений об окружающем мире и способ ориентирования в нем. Каждый человек воспринимает цвета индивидуально, отлично от других людей. Однако у большей части людей цветовые ощущения очень схожи.
Физической основой цветовосприятия является наличие специфических светочувствительных клеток в центральном участке сетчатки глаза, так называемых палочек и колбочек.
Различают три вида колбочек, по чувствительности к разным длинам волн света (цветам). Колбочки S-типа чувствительны в фиолетово-синей, M-типа — в зелено-желтой, и L-типа — в желто-красной частях спектра.
Наличие этих трех видов колбочек (и палочек, чувствительных в изумрудно-зеленой части спектра) даёт человеку цветное зрение.
В ночное время зрение обеспечивают только палочки, поэтому ночью человек не может различать цвета.
Каждое животное видит мир по-своему. Сидя в засаде, лягушка видит только движущиеся предметы: насекомых, на которых она охотится, или своих врагов. Чтобы увидеть всё остальное, она должна сама начать двигаться.
Сумеречные и ночные животные (например, волки и другие хищные звери), как правило, почти не различают цветов.
Стрекоза хорошо различает цвета только нижней половиной глаз, верхняя половина смотрит в небо, на фоне которого добыча и так хорошо заметна.
О хорошем зрении насекомых мы можем судить хотя бы по красоте цветков растений - ведь эта красота предназначена природой именно для насекомых - опылителей. Но мир, каким они его видят, сильно отличается от привычного для нас. Цветки, которые опыляют пчелы, обычно не окрашены в красный цвет: пчела этот цвет воспринимает, как мы - черный. Зато, вероятно, многие невзрачные на наш взгляд цветы приобретают неожиданные великолепие в ультрафиолетовом спектре, в котором видят насекомые. На крыльях некоторых бабочек (например, лимонницы, боярышницы) имеются узоры, скрытые от человеческого глаза и видимые только в ультрафиолетовых лучах. Когда муравьев в ходе опыта стали облучать сильными ультрафиолетовыми лучами, они побежали укрываться "в тень" не под защиту пропускавшей ультрафиолет темной дощечки, а под прозрачное, на наш взгляд, стекло, задерживавшее эти лучи.
Цветовые модели
Все объекты окружающего мира можно разделить на: излучающие (светящиеся: солнце, лампа, монитор), отражающие излучение (бумага) и пропускающие (стекло).
Рис. 4.4. Излучающие, отражающие и пропускающие объекты.
В зависимости от того, является объект излучающим или отражающим для представления описания его цвета в виде числового кода используются две обратных друг другу цветовые модели: RGB или CMYK.
RGB.Модель RGB используется в телевизорах, мониторах, проекторах, сканерах, цифровых фотоаппаратах… Эта модель является аддитивной (суммарной), что означает, что цвета в этой модели добавляются к черному (blacK) цвету.
Основные цвета в этой модели: красный (Red), зеленый (Green), синий (Blue). Их парное сочетание в равных долях дает дополнительные цвета: желтый (Yellow), голубой (Cyan) и пурпурный (Magenta).
R+G=Y; G+B=C; B+R=M.
Сумма всех трех основных цветов в равных долях дает белый (White) цвет: R+G+B=W.
CMYK. Цветовая модель CMYK используется в полиграфии при формировании изображений, предназначенных для печати на бумаге. Основными цветами в ней являются те, которые являются дополнительными в модели RGB, т.к. они получаются вычитанием цветов RGB из белого цвета. Поэтому модель CMYK называется субтрактивной.
C=W-R; M=W-G; Y=W-B.
В свою очередь парное сочетание в равных долях цветов модели CMY дает цвета модели RGB. Всем известно, что если смешать на бумаге желтую и голубую краску, получится зеленый цвет. На языке цветовых моделей, это описывается выражением: Y+C=G, кроме того, C+M=B и M+Y=R.
В теории, сумма C+M+Y=K, т.е. дает черный (blacK) цвет, но поскольку реальные типографские краски имеют примеси, их цвет не совпадает в точности с теоретически рассчитанным голубым, желтым и пурпурным. Особенно трудно получить из этих красок черный цвет. Поэтому в модели CMYK к триаде CMY добавляют черный цвет K. От слова blacK для обозначения черного цвета взята последняя буква, и т.к. буква B уже используется в модели RGB для обозначения синего цвета.
Рис. 4.5. Излучающий объект RGB. | Рис. 4.5. Отражающий объект CMYK. |
Если кодировать цвет одной точки изображения тремя битами, каждый из которых будет являться признаком присутствия (1) или отсутствия (0) соответствующей компоненты системы RGB, то мы получим все восемь различных цветов описанных выше моделей.
Таблица 4.2. Кодировка цветов
1 бит на каждый компонент RGB 23=8 | R | G | B | Цвет |
W (white /белый) | ||||
Y (yellow / желтый) | ||||
M (magenta / пурпурный) | ||||
R (red / красный) | ||||
C (cyan / голубой) | ||||
G (green / зеленый) | ||||
B (blue /синий) | ||||
K (black / черный) |
На практике же, для сохранения информации о цвете каждой точки цветного изображения в модели RGB обычно отводится 3 байта (т.е. 24 бита) - по 1 байту (т.е. по 8 бит) под значение цвета каждой составляющей. Таким образом, каждая RGB-составляющая может принимать значение в диапазоне от 0 до 255 (всего 28=256 значений), а каждая точка изображения, при такой системе кодирования может быть окрашена в один из 23*8=224=16 777 216 цветов. Такой набор цветов принято называть True Color (правдивые цвета), потому что человеческий глаз все равно не в состоянии различить большего разнообразия.
Рис. 4.6. Цветовой куб.
Изменяющиеся в диапазоне от 0 до 255 координаты RGB образуют цветовой куб. Любой цвет расположен внутри этого куба и описывается своим набором координат, показывающем в каких долях смешаны в нем красная, зеленая и синяя составляющие.
Таблица 4.3. Справочная таблица
Изображение | Основа кодирования | Памяти на пиксель | Кол-во цветов | |
байт | бит | |||
Черно-белое | Bitmap | |||
Оттенки серого | 256 градаций серого | 28=256 | ||
Цветное излучающее | RGB | 224=16 777 216 | ||
Цветное отражающее | CMYK | 232=429 4967 296 |
HSB.Две описанные выше модели удобны скорее для компьютеров, чем для нас с вами. Человеку гораздо проще не синтезировать цвет из отдельных составляющих, а выбирать его, ориентируясь на более естественные параметры: тон, насыщенность, яркость. Именно эти три параметра и стали основой для модели HSB (Hue, Saturation, Brightness), она же HSL (Hue, Saturation, Lightness).
Параметр тона Hue (читается «хью») — это чистый цвет сам по себе — один из цветов спектра (радуги). В модели HSB он представлен как замкнутый круг, положение конкретного оттенка на котором указывается в градусах от 0 до 359.
Параметр Saturation — это насыщенность. Чем меньше насыщенность, тем ближе цвет к серому и наоборот: с увеличением насыщенности цвет становится сочнее. Lightness, соответственно, определяет долю белого в итоговом цвете.
Lab.В попытке совместить цветовой охват моделей RGB и CMYK была создана модель Lab, не привязанная к среде вывода. Параметр модели L показывает общую яркость пикселов, параметром a передаются цвета от темно-зеленого до ярко-розового с разными вариациями насыщенности и яркости, а параметром b — от светло-синего до ярко-желтого. Модель Lab обеспечивает наибольшую совместимость, цветовой охват и скорость. Из-за своей универсальности Lab широко используется способными в ней разобраться профессионалами.