Изображение в растровой графике. Растровая графика. Достоинства и недостатки растровой графики

27.06.2020

Технологии обработки графической информации.

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

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

Растровые форматы хорошо подходят для изображений со сложными гаммами цветов, оттенков и форм. Это такие изображения, как фотографии, рисунки, отсканированные данные.

Векторные форматы хорошо применимы для чертежей и изображений с простыми формами, тенями и окраской.

Растровая графика . Наиболее просто реализовать растровое представление изображения. Растр , или растровый массив (bitmap), представляет совокупность битов, расположенных на сетчатом поле-канве. Бит может быть включен (единичное состояние) или выключен (нулевое состояние). Состояния битов можно использовать для представления черного или белого цветов, так что, соединив на канве несколько битов, можно создать изображение из черных и белых точек.

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

Основным элементом растрового изображения является пиксел (рixel ). Под этим термином часто понимают несколько различных понятий: отдельный элемент растрового изображения, отдельная точка на экране монитора, отдельная точка на изображении, напечатанном принтером. Поэтому на практике эти понятия часто обозначают так:

пиксел - отдельный элемент растрового изображения;

видеопиксел - элемент изображения на экране монитора;

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

Наиболее простой тип растрового изображения состоит из пикселов, имеющих два возможных цвета - черный и белый . Для хранения такого типа пикселов требуется один бит в памяти компьютера, поэтому изображения, состоящие из пикселов такого вида, называются 1-битовыми изображениями. Для отображения большего количества цветов используется больше битов информации. Число возможных и доступных цветов или градаций серого цвета каждого пиксела равно двум в степени, равной количеству битов, отводимых для каждого пиксела. 24 бита обеспечивают более 16 миллионов цветов. О 24-битовых изображениях часто говорят как об изображениях с естественными цветами, так как такого количества цветов более чем достаточно, чтобы отобразить всевозможные цвета, которые способен различать человеческий глаз.


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

Для разрешения проблемы обработки объемных (в смысле затрат памяти) изображений используются два основных способа:

1. увеличение памяти компьютера;

2. сжатие изображений.

Другим недостатком растрового представления изображений является снижение качества изображений при масштабировании.

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

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

Векторную графику часто называют объектно-ориентированной или чертежной графикой. Имеется ряд простейших объектов, или примитивов, например: эллипс, прямоугольник, линия. Эти примитивы и их комбинации используются для создания более сложных изображений. Если посмотреть содержание файла векторной графики, обнаруживается сходство с программой. Он может содержать команды, похожие на слова, и данные в коде АЗСИ, поэтому векторный файл можно отредактировать с помощью текстового редактора. Приведем в условном упрощенном виде команды, описывающие окружность:

объект - окружность;

центр - 50, 70; радиус - 40;

линия: цвет - черный, толщина - 0.50;

заливка - нет.

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

Кроме того, векторная графика в сравнении с растровой имеет следующие преимущества:

§ простота масштабирования изображения без ухудшения его качества;

§ независимость объема памяти, требуемой для хранения изображения, от выбранной цветовой модели.

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

Растровая и векторная графика существуют не обособлено друг от друга. Так, векторные рисунки могут включать в себя и растровые изображения. Кроме того, векторные и растровые изображения могут быть преобразованы друг в друга - в этом случае говорят о конвертации графических файлов в другие форматы. Достаточно просто выполняется преобразование векторных изображений в растровые. Не всегда осуществимо преобразование растровой графики в векторную, так как для этого растровая картинка должна содержать линии, которые могут быть идентифицированы программой конвертации (типа СоrеlТrасе в составе пакета СоrеlDrаw) как векторные примитивы. Это касается, например, высококачественных фотографий, когда каждый пиксел отличается от соседних.

Разрешающая способность - это количество элементов в заданной области. Этот термин применим ко многим понятиям, например, таким как:

§ разрешающая способность графического изображения;

§ разрешающая способность принтера как устройства вывода;

§ разрешающая способность мыши как устройства ввода.

Например, разрешающая способность лазерного принтера может быть задана 300 dpi (dot per inche - точек на дюйм}, что означает способность принтера напечатать на отрезке в один дюйм 300 отдельных точек. В этом случае элементами изображения являются лазерные точки, а размер изображения измеряется в дюймах.

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

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

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

Значительно большее влияние разрешающая способность устройства вывода оказывает на вывод растрового рисунка. Если в файле растрового изображения не определено, сколько пикселов на дюйм должно создавать устройство вывода, то по умолчанию для каждого пиксела используется минимальный размер. В случае лазерного принтера минимальным элементом служит лазерная точка, в мониторе - видеопиксел. Так как устройства вывода отличаются размерами минимального элемента, который может быть ими создан, то размер растрового изображения при выводе на различных устройствах также будет неодинаков.

Цвета Некоторые предметы видимы потому, что излучают свет, а другие - потому, что его отражают. Когда предметы излучают свет, они приобретают в нашем восприятии от цвет, который видит глаз человека. Когда предметы отражают свет, то их цвет определяется цветом падающего на них света и цветом, который эти объекты отражают. Излучаемый свет выходит из активного источника, например, экрана монитора. Отраженный свет отражается от поверхности объекта, например, листа бумаги.

Существуют два метода описания цвета : система аддитивных и субтрактивных цветов .

Система аддитивных цветов работает с излучаемым светом. Аддитивный цвет получается при объединении разноцветных лучей света. В системе используются три основных цвета: красный, зеленый и синий (Rеd, Grееn, Вlue - RGB ). При смешивании их в разных пропорциях получается соответствующий цвет. Отсутствие этих цветов представляет в системе черный цвет. Схематично смешение цветов показано на рисунке 1.

а) Аддитивный цвет б) Субтрактивный цвет

Рисунок 7 - Система смешения цветов

В системе субтрактивных цветов происходит обратный процесс: какой-либо цвет получается вычитанием других цветов из общего луча света. При этом белый цвет получается в результате отсутствия всех цветов, а присутствие всех цветов дает черный цвет. Система субтрактивных цветов работает с отраженным цветом, например, от листа бумаги. Белая бумага отражает все цвета,-окрашенная - некоторые поглощает, остальные отражает.

В системе субтрактивных цветов основными являются голубой, пурпурный и желтый цвета (Суаn, Маgеnta, Уеllow - СМY) - дополнительные красному, зеленому и синему. Когда эти цвета смешивают на бумаге в равной пропорции, получается черный цвет. Этот процесс проиллюстрирован на рисунке б. В связи с тем, что типографские краски не полностью поглощают свет, комбинация трех основных цветов выглядит темно-коричневой. Поэтому для корректировки тонов и получения истинно черного цвета в принтеры добавляют немного черной краски. Системы цветов, основанные на таком принципе четырехцветной печати, обозначают аббревиатурой СМУК (Суаn, Маgеnta, Уеllow, blасК).

Существуют и другие системы кодирования цветов, например, представление его в виде тона, насыщенности и яркости (Нuе, Sаturation, Вrightness - НSВ ).

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

При уменьшении, например, насыщенности красного цвета, он делается более пастельным или блеклым. Яркость (или освещенность) цвета показывает величину черного оттенка, добавляемого к цвету, что делает его более темным. Система НSВ хорошо согласуется с моделью восприятия цвета человеком. Тон является эквивалентом длины волны света, насыщенность - интенсивности волны, а яркость - общего количества света. Недостатком этой системы является необходимость преобразования ее в другие системы: RGВ - при выводе изображения на монитор; СМУК - при выводе на четырехцветный принтер.

Другое обозначение системы НSВ - НSL- (Нue, Sаturation, Light - тон, насыщенность и освещенность).

Рассмотренные системы работают со всем спектром цветов - миллионами возможных оттенков. Однако пользователю часто достаточно не более нескольких сотен цветов. В этом случае удобно использовать индексированные палитры - наборы цветов, содержащие фиксированное количество цветов, например, 16 или 256, из которых можно выбрать необходимый цвет. Преимуществом таких палитр является то, что они занимают гораздо меньше памяти, чем полные системы RGВ и СМУК.

При работе с изображением компьютер создает палитру и присваивает каждому цвету номер, затем при указании цвета отдельного пиксела или объекта просто запоминается номер, который имеет данный цвет в палитре. Для запоминания числа от 1 до 16 необходимо 4 бита памяти, а от 1 до 256 - 8 битов, поэтому изображения, имеющие 16 цветов называют 4-битовыми, а 256 цветов - 8-битовыми. При сравнении с 24 битами, необходимыми для хранения полного цвета в системе RGВ, или с 32 битами - в системе СМУК, экономия памяти очевидна.

При работе с палитрой можно применять любые цвета, например, системы RGВ, но ограниченное их количество. Так, при использовании 256-цветовой палитры в процессе ее создания и нумерации каждый цвет в палитре описывается как обычный 24-битовый цвет системы RGВ. А при ссылке на какой-либо цвет уже указывается его номер, а не конкретные данные системы ВОВ, описывающие этот цвет.

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

Масштабирование векторных рисунков выполняется просто и без потери качества. Так как объекты векторной графики создаются по их описаниям, то для изменения масштаба векторного объекта, достаточно изменить его описание. Например, чтобы увеличить в два раза векторный объект, следует удвоить значение, описывающее его размер.

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

§ одновременное изменение размеров всех пикселов (в большую или меньшую сторону);

§ добавление или убавление пикселов из рисунка для отражения производимых в нем изменений, называемое выборкой пикселов в изображении.

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

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

Рисунок 8 - Масштабирование растрового изображения

Выборка растрового рисунка может быть сделана двумя различными способами.

1) По первому способу просто дублируется или удаляется необходимое количество пикселов. При этом в результате масштабирования, как правило, ухудшается качество изображения. Например, при увеличении размера рисунка возрастают его зернистость и дискретность. При уменьшении размера рисунка потери в качестве не столь заметны, однако при последующем восстановлении уменьшенного рисунка до прежнего размера опять возрастают зернистость и дискретность. Это связано с тем, что при уменьшении размера рисунка часть пикселов была удалена из исходного изображения и потеряна безвозвратно, а при последующем восстановлении размеров рисунка недостающие пикселы дублировались из соседних.

2) По второму способу с помощью определенных вычислений можно создать пикселы другого цвета, определяемого цветами первоначального пиксела и его окружения. Этот метод называется интерполяцией и является более сложным, чем простое дублирование. При интерполяции кроме дублируемых пикселов, отбираются и соседние с ними, с помощью которых вновь создаваемые пикселы получают от существующих усредненный цвет или оттенок серого. В результате переходы между пикселами становятся более плавными, что позволяет убрать или уменьшить эффект «пилообразности» изображения.

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

1. групповое сжатие;

2. кодирование методом Хаффмана;

3. сжатие по схеме LZW;

4. арифметическое сжатие;

5. сжатие с потерями,

6. преобразование цветов RGB в цвета УUV.

В основе большинства схем сжатия лежит использование одного из следующих свойств графических данных: избыточность, предсказуемость и необязательность. В частности, групповое кодирование (RLE) основано на использовании первого свойства. Кодирование по методу Хаффмана и арифметическое кодирование, основанные на статистической модели, используют предсказуемость, предлагая более короткие коды для более часто встречающихся пикселов. Алгоритмы сжатия с потерями основаны на избыточности данных.

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

Рассмотрим подробнее несколько алгоритмов сжатия.

Групповое сжатие . Групповое сжатие представляет собой одну самых простых схем сжатия файлов. Суть его заключается в том, что серия повторяющихся величин заменяется единственной величиной и ее количеством. На примере можно заметить выгоду в длине между «ааbbbbbbbсdddeeeeaaa» и «2а7b1сЗd4еЗа». Данный алгоритм прост в реализации и хорошо сжимает графические файлы с большими однотонными областями. Групповое кодирование используется во многих форматах растровых файлов, таких как ТIFF, РСХ и т. д.

Кодирование методом Хаффмана . Смысл метода Хаффмана заключается в замене данных более эффективными кодами. Более короткие коды используются для замены более часто появляющихся величин. Например в выражении аbbbcccddeeeeeeeeef есть шесть уникальных величин, с частотами появления: а:1, b:3, с:3, d:2, е:9, f:1. Для образования минимального кода используется двоичное дерево. Алгоритм объединяет в пары элементы, появляющиеся наименее часто, затем пара объединяется в один элемент, а их частоты объединяются. Это действие повторяется до тех пор, пока элементы не объединятся в пары. В данном примере надо объединить а и f - это первая пара, а присваивается нулевая ветвь, а f - 1-я. Это означает, что 0 и 1 будут младшими битами кодов для а и 7 соответственно. Более старшие биты будут получены из дерева по мере его построения.

Суммирование частот дает в итоге 2. Теперь самая низкая частота -2, поэтому пара а и f объединяется с d (которая тоже имеет частоту 2). Исходной паре присваивается нулевая ветвь, а d - ветвь 1. Таким образом, код для а заканчивается на 00; для f на 01,d заканчивается на 1 и будет на один бит короче по сравнению с кодами для а и f.

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


Таблица 8 - Типы графических файлов

Дискретизация

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

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

Представление изображений в ЭВМ

Изображение:

    Растровое

    Векторное

Растровое:

Растровое изображение представляет собой совокупность точек (пикселей) разных цветов.

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

В процессе кодирования изображения производится его пространственная дискретизация.

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

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

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

Плюсы растрового кодирования:

2. Распространённость

Минусы растрового кодирования:

1. Универсальный метод (позволяет закодировать любое изображение)

2. Распространённость

3. Единственный метод для кодирования и обработки размытых изображений, не имеющих чётких границ (фотографий)

4. Растровое изображение естественно для большинства устройств ввода-вывода

Наиболее популярные растровые форматы:

Форматы растровых изображений:

    Bit MaP image (BMP) - универсальный формат растровых графических файлов, используется в операционной системе Windows. Этот формат поддерживается многими графическими редакторами, в том числе редактором Paint. Рекомендуется для хранения и обмена данными с другими приложениями.

    Graphics Interchange Format (GIF) - формат растровых графических файлов, поддерживается приложениями для различных операционных систем. Включает алгоритм сжатия без потерь информации, позволяющий уменьшить объем файла в несколько раз. Рекомендуется для хранения изображений, создаваемых программным путем (диаграмм, графиков и так далее) и рисунков (типа аппликации) с ограниченным количеством цветов (до 256). Используется для размещения графических изображений на Web-страницах в Интернете.

    Tagged Image File Format (TIFF) - формат растровых графических файлов, поддерживается всеми основными графическими редакторами и компьютерными платформами. Включает в себя алгоритм сжатия без потерь информации. Используется для обмена документами между различными программами. Рекомендуется для использования при работе с издательскими системами. Формат поддерживает большой диапазон изменения глубины цвета, разные цветовые пространства, разные настройки сжатия (как с потерями, так и без).

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

Векторное изображение:

Векторное изображение представляет собой совокупность графических примитивов (точка, отрезок, эллипс …). Каждый примитив описывается математическими формулами. Кодирование зависит от прикладной среды.

Достоинством векторной графики является то, что файлы, хранящие векторные графические изображения, имеют сравнительно небольшой объем.

Важно также, что векторные графические изображения могут быть увеличены или уменьшены без потери качества.

Плюсы векторного изображения:

1. Лучший способ для хранения чертежей, схем, карт

2. При кодировании нет потери информации

3. При изменении размера нет искажений

4. Размер файла зависит от сложности рисунка

5. При масштабировании изображения нет искажений

Минусы векторного изображения:

1. Не все объекты можно изобразить в векторном виде

2. Затруднителен перевод из растрового в векторное изображение

3. Неэффективно использовать для фотографий и размытых изображений

Форматы векторных изображений

    cdr – формат используемый программойCorelDraw.

    cmx – формат графических программ корпорации Corel, предназначенный для передачи рисунков между разными программами.

    ai – формат файлов, создаваемых программой Adobe Illustrator.

    wmf (Windows Metafile) – графический формат файла в системе Microsoft Windows, универсальный векторный формат, поддерживаемый большинствомWindowsприложений.

    eps – относительно универсальный векторный формат файлов, поддерживаемый большинством векторных редакторов - CorelDraw, Adobe Illustrator, Macromedia FreeHand.

    fla – исходныеFlash-файлы, создаются вAdobeFlash(бывш.MacromediaFlash).

    swf – Flash-формат, который может просматриваются с помощью Flash Player, устанавливамого как plugin в браузер.

    svg – Сокращение от англ. Scalable Vector Graphics. Является открытым стандартом, т.е. в отличие от большинства других форматов, SVG не является чьей-либо собственностью.

"

Растры, пиксели, дискретизация, разрешение

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

И линия, и область состоят из бесконечного числа точек. Цвет каждой из этих точек нам нужно закодировать. Если их бесконечно много, мы сразу приходим к выводу, что для этого нужно бесконечно много памяти. Поэтому «поточечным» способом изображение закодировать не удастся. Однако, эту все-таки идею можно использовать.

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

Рисунок 1.

У нас получился так называемый растровый рисунок, состоящий из квадратиков-пикселей.

Определение 1

Пиксель (англ. pixel = picture element, элемент рисунка) – это наименьший элемент рисунка, для которого можно задать свой цвет. Разбив «обычный» рисунок на квадратики, мы выполнили его дискретизацию – разбили единый объект на отдельные элементы. Действительно, у нас был единый и неделимый рисунок – изображение ромба. В результаты мы получили дискретный объект – набор пикселей.

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

  • заменяем белые пиксели нулями, а черные – единицами;
  • выписываем строки полученной таблицы одну за другой.

Пример 1

Покажем это на простом примере:

Рисунок 2.

Ширина этого рисунка – $8$ пикселей, поэтому каждая строчка таблицы состоит из $8$ двоичных разрядов – битов. Чтобы не писать очень длинную цепочку нулей и единиц, удобно использовать шестнадцатеричную систему счисления, закодировав $4$ соседних бита (тетраду) одной шестнадцатеричной цифрой.

Рисунок 3.

Например, для первой строки получаем код $1A_{16}$:

а для всего рисунка: $1A2642FF425A5A7E_{16}$.

Замечание 1

Очень важно понять, что мы приобрели и что потеряли в результате дискретизации. Самое важное – мы смогли закодировать рисунок в двоичном коде. Однако при этом рисунок исказился - вместо ромба мы получили набор квадратиков. Причина искажения в том, что в некоторых квадратиках части исходного рисунка были закрашены разными цветами, а в закодированном изображении каждый пиксель обязательно имеет один цвет. Таким образом, часть исходной информации при кодировании была потеряна. Это проявится, например, при увеличении рисунка - квадратики увеличиваются, и рисунок еще больше искажается. Чтобы уменьшить потери информации, нужно уменьшать размер пикселя, то есть увеличивать разрешение.

Определение 2

Разрешение – это количество пикселей, приходящихся на дюйм размера изображения.

Разрешение обычно измеряется в пикселях на дюйм (используется английское обозначение $ppi$ = pixels per inch). Например, разрешение $254$ $ppi$ означает, что на дюйм ($25,4$ мм) приходится $254$ пикселя, так что каждый пиксель «содержит» квадрат исходного изображения размером $0,1×0,1$ мм. Чем больше разрешение, тем точнее кодируется рисунок (меньше информации теряется), однако одновременно растет и объем файла .

Кодирование цвета

Что делать, если рисунок цветной? В этом случае для кодирования цвета пикселя уже не обойтись одним битом. Например, в показанном на рисунке изображении российского флага $4$ цвета: черный, синий, красный и белый. Для кодирования одного из четырех вариантов нужно $2$ бита, поэтому код каждого цвета (и код каждого пикселя) будет состоять из двух бит. Пусть $00$ обозначает черный цвет, $01$ – красный, $10$ – синий и $11$ – белый. Тогда получаем такую таблицу:

Рисунок 4.

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

Человек воспринимает свет как множество электромагнитных волн. Определенная длина волны соответствуют некоторому цвету. Например, волны длиной $500-565$ нм – это зеленый цвет. Так называемый «белый» свет на самом деле представляет собой смесь волн, длины которых охватывают весь видимый диапазон.

Согласно современному представлению о цветном зрении (теории Юнга-Гельмгольца), глаз человека содержит чувствительные элементы трех типов. Каждый из них воспринимает весь поток света, но первые наиболее чувствительны в области красного цвета, вторые – области зеленого, а третьи – в области синего цвета. Цвет – это результат возбуждения всех трех типов рецепторов. Поэтому считается, что любой цвет (то есть ощущения человека, воспринимающего волны определенной длины) можно имитировать, используя только три световых луча (красный, зеленый и синий) разной яркости. Следовательно, любой цвет приближенно раскладывается на три составляющих – красную, зеленую и синюю. Меняя силу этих составляющих, можно составить любые цвета. Эта модель цвета получила название RGB по начальным буквам английских слов red (красный), green (зеленый) и blue (синий).

В модели RBG яркость каждой составляющей (или, как говорят, каждого канала) чаще всего кодируется целым числом от $0$ до $255$. При этом код цвета – это тройка чисел (R,G,B), яркости отдельных каналов. Цвет ($0,0,0$) – это черный цвет, а ($255,255,255$) – белый. Если все составляющие имеют равную яркость, получаются оттенки серого цвета, от черного до белого.

Рисунок 5.

Чтобы сделать светло-красный (розовый) цвет, нужно в красном цвете ($255,0,0$) одинаково увеличить яркость зеленого и синего каналов, например, цвет ($255, 150, 150$) – это розовый. Равномерное уменьшение яркости всех каналов делает темный цвет, например, цвет с кодом ($100,0,0$) – тёмно-красный.

Всего есть по $256$ вариантов яркости каждого из трех цветов. Это позволяет закодировать $256^3= 16 777 216$ оттенков, что более чем достаточно для человека. Так как $256 = 2^8$, каждая из трех составляющих занимает в памяти $8$ бит или $1$ байт, а вся информация о каком-то цвете – $24$ бита (или $3$ байта). Эта величина называется глубиной цвета.

Определение 3

Глубина цвета – это количество бит, используемое для кодирования цвета пикселя.

$24$-битное кодирование цвета часто называют режимом истинного цвета (англ. True Color – истинный цвет). Для вычисления объема рисунка в байтах при таком кодировании нужно определить общее количество пикселей (перемножить ширину и высоту) и умножить результат на $3$, так как цвет каждого пикселя кодируется тремя байтами. Например, рисунок размером $20×30$ пикселей, закодированный в режиме истинного цвета, будет занимать $20×30×3 = 1800$ байт.

Кроме режима истинного цвета используется также $16$-битное кодирование (англ. High Color – «высокий» цвет), когда на красную и синюю составляющую отводится по $5$ бит, а на зеленую, к которой человеческий глаз более чувствителен – $6$ бит. В режиме High Color можно закодировать $2^{16} = 65 536$ различных цветов. В мобильных телефонах $12$-битное кодирование цвета ($4$ бита на канал, $4096$ цветов).

Кодирование с палитрой

Как правило, чем меньше цветов используется, тем больше будет искажаться цветное изображение. Таким образом, при кодировании цвета тоже есть неизбежная потеря информации, которая «добавляется» к потерям, вызванным дискретизацией. Очень часто (например, в схемах, диаграммах и чертежах) количество цветов в изображении невелико (не более $256$). В этом случае применяют кодирование с палитрой.

Определение 4

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

Кодирование с палитрой выполняется следующим образом:

  • выбираем количество цветов $N$ (как правило, не более $256$);
  • из палитры истинного цвета ($16 777 216$ цветов) выбираем любые $N$ цветов и для каждого из них находим составляющие в модели RGB;
  • каждому из цветов присваиваем номер (код) от $0$ до $N–1$;
  • составляем палитру, записывая сначала RGB-составляющие цвета, имеющего код $0$, затем составляющие цвета с кодом $1$ и т.д.

Цвет каждого пикселя кодируется не в виде значений RGB-составляющих, а как номер цвета в палитре. Например, при кодировании изображения российского флага (см. выше) были выбраны $4$ цвета:

  • черный: RGB-код ($0,0,0$); двоичный код $002$;
  • красный: RGB-код ($255,0,0$); двоичный код $012$;
  • синий: RGB-код ($0,0,255$); двоичный код $102$;
  • белый: RGB-код ($255,255,255$); двоичный код $112$.

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

Рисунок 6.

Код каждого пикселя занимает всего два бита.

Палитры с количеством цветом более $256$ на практике не используются.

Достоинства и недостатки растрового кодирования

Растровое кодирование имеет достоинства :

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

И недостатки :

  • при дискретизации всегда есть потеря информации;
  • при изменении размеров изображения искажается цвет и форма объектов на рисунке, поскольку при увеличении размеров надо как-то восстановить недостающие пиксели, а при уменьшении – заменить несколько пикселей одним;
  • размер файла не зависит от сложности изображения, а определяется только разрешением и глубиной цвета.

Как правило, растровые рисунки имеют большой объем.

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

Растровая графика

С примерами растровой графики мы постоянно сталкиваемся в жизни: картинка в телевизоре, мониторе ноута, дисплеи планшета или смартфона — все это примеры растровой графики. Но что же такое растровая графика с технической стороны? Представьте шахматную доску, каждая клетка это минимальная, не делимая единица. В растровой графики принято называть такую минимальную единицу “пиксель”. Любое растровые изображение состоит из множества таких пикселей, которые создают своеобразную мозаику. Т.к. пиксели очень маленькие и их много, наш глаз воспринимает эту мозаику как цельное изображение.

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

Форматы растровой графики

BMP, GIF, JPG и JPEG, PNG, PICT, PCX, TIFF, PSD (с некоторыми исключениями см. ниже)

Редакторы растровой графики

Их достаточно много, но основные это Photoshop и Paint brush (программа по умолчанию установленная на Windows), так же специализированные редакторы растровой графики для цифрового рисунка (например Сorel Painter).

Недостатки и ограничения растровой графики

Самым главным недостатком растровой графики является потеря качества при увеличении изображения. Что происходит когда вы растягиваете растровые изображение: между существующими пикселями графический редактор растровой графики создает дополнительные, а цвет применяет средний с сопряженными пикселями. В итоге мы получаем “размытое”, не четкое изображение. Кроме того файлы с растровой графикой имеют больший размер по сравнению с файлами векторной графики.
Если говорить о фотографиях или изображениях в которых надо передать фотографическое качество с полутонами — альтернативы раствором формату нет.

Векторная графика

Если вы не дизайнер, то с примерами векторной графики вы сталкиваетесь гораздо реже. Чаще всего векторная графика используется для создания макетов, наиболее распространена в полиграфическом дизайне. Векторная графика не может передать тона и полутона, но гораздо более удобна если речь идет о простых формах, текстах, контурных фигур. Принцип векторной графики: любой контур задается с помощью опорных точек, а все пространство рабочей области представляет собой систему координат. Любая фигура в таком пространстве описывается координатами опорных точек, соединяющими отрезками между ними и характеристиками заливки (цвет, градиент, паттерн) поверхности внутри. Т.е. любое векторное изображение это прежде всего математическая формула.

Форматы векторной графики

CDR, EPS, Ai, CMX, SVG, PSD (в некоторых случаях)

Редакторы векторной графики

Самые распространенные редакторы векторной графики это CorelDraw и Illustrator. Но есть еще одно важное исключение, которое появилось всего несколько лет назад. В Photoshop (исконно растровый редактор), есть теперь возможность использовать вектор. Поэтому Photoshop можно одновременно отнести и к редакторам растровой графики и к редактору векторной графики. Об этом рекомендую почитать отдельный пост , где я подробно рассказываю о векторных инструментах.

Недостатки и ограничения векторной графики

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

Преимущества векторного формата

Любое изображение в векторном формате можно легко масштабировать как в меньшую так и в большую сторону без потери качества. Что происходит при масштабирование векторного изображения: т.к. векторное изображение представляет собой математическое выражение, при увеличении или уменьшении программа пересчитывает координаты опорных точек и “перерисовывает” изображение по новой. Поэтому именно векторный формат обычно используется дизайнерами при разработке логотипа. Векторный логотип заказчик всегда сможет изменить в размене без потери в качестве (хоть увеличить до состояния баннера и обернуть свой офис 10 раз). Не маловажным преимуществом векторного формата так же является возможность быстрой коррекции цвета всего за пару кликов (т.к. цвет так же задается цифровым значением) и совсем небольшой размер файлов (математическая формула описывает только опорные точки, а не каждый пиксель рабочего пространства).

Новые перспективы открываются для векторных изображений с появлением формата SVG который начинает широко использоваться в веб дизайне. Современные браузеры уже поддерживают этот графический формат, который позволяет масштабировать изображения в SVG без потери качества, что актуально например при адаптивности сайта.

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

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

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

Точка растрового изображения обозначается термином "пиксель".

Рис. 8.3.

Пиксель

Напомним, что термин "пиксель" ("пиксел") (от англ. pixel, pel – сокращение от англ. pix element, picture cell, picture element элемент изображения) имеет два значения:

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

Растровое компьютерное изображение состоит из пикселей, расположенных по строкам и столбцам. Чем больше пикселей на единицу площади содержит изображение, тем оно детальней.

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

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

ГОСТ 27459–87 "Системы обработки информации. Машинная графика. Термины и определения" иод термином "пиксель" понимает "наименьший элемент поверхности визуализации, которому могут быть независимым образом заданы цвет, интенсивность и другие характеристики изображения".

Характеристики растрового изображения

Растровые изображения характеризуются следующими параметрами:

  • количество пикселей – может указываться отдельно количество пикселей по ширине и высоте (1024 х 768, 640 х 480 и т.п.) или же общее количество пикселей;
  • разрешение – величина, говорящая о возможном размере и детальности изображения;
  • количество используемых цветов или глубина цвета;
  • цветовой режим – градации серого, индексированный, RGB, CMYK и др.;
  • цветовое пространство (цветовая модель ) – RGB, CMYK, LAB, HSV и др.

Рис. 8.4.

Качество растрового изображения зависит от количества растровых точек, из которых оно состоит (рис. 8.4). Основным показателем качества является разрешение изображения, т.е. количество точек на единицу длины (дюйм, мм, см). Чаще всего измеряется количество точек на один дюйм (англ. dpi – dots per inch). Большее количество точек дает большую детализацию изображения, однако при сохранении такого изображения необходимо сохранить информацию о цвете каждой точки, а поскольку точек может быть до нескольких миллионов, то размер сохраненного файла тоже будет большим.

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

Создается растровая графика фотоаппаратами, сканерами, непосредственно в растровом редакторе, а также путем экспорта из векторного редактора или в виде снимков экрана.

Похожие статьи