Способы представления изображений в памяти ЭВМ

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

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

Под компьютерной геометрией понимают математический аппарат, применяемый в компьютерной графике.

Рынок программного и аппаратного обеспечения компьютерной графики – один из са­мых динамичных. Об этом можно судить по объему литературы и числу сервисов Internet, посвященных так или иначе компьютерной гра­фике. Можно с уверенностью сказать, что как минимум половина из продаваемой литературы по ПО, посвящена гра­фическим программам.

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

Одно и тоже изображение может быть представлено в памяти ЭВМ двумя принципи­ально различными спосо­бами и получено два различных типа изображения: растровое и векторное. Рассмотрим подробнее эти способы представления изображений, выделим их основные параметры и определим их достоинства и недостатки.

Что такое растровое изображение?

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

Рис. 1.1 Исходное изображение

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

Как мы видим, изображение стало состоять из конечного числа квадратиков определён­ного цвета. Эти квадра­тики называют pixel (от PICture ELement) - пиксель или пиксель.

Теперь каким-либо методом занумеруем цвета. Конкретная реализация этих методов нас пока не интере­сует - для нас сейчас важно то, что каждый пиксель на рисунке стал иметь определённый цвет, обозначен­ный цифрой (рис. 1.2).

Рис. 1.2 Фрагмент оцифрованного изображения и номера цветов

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

1 2 8 3 212 45 67 45 127 4 78 225 34...

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

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

Достоинством такого способа является возможность получения фотореалистичного изображения высокого ка­чества в различном цветовом диапазоне. Недостатком – высо­кая точность и широкий цветовой диапазон требуют увеличения объема файла для хра­нения изображения и оперативной памяти для его обработки.

Для векторной графики характерно разбиение изображения на ряд графических при­митивов – точка, прямая, ломаная, дуга, полигон. Таким образом, появляется возможность хранить не все точки изображения, а коорди­наты узлов примитивов и их свойства (цвет, связь с другими узлами и т.д.). Вернемся к изображению на рис. 1.1. Взглянем на него по-другому. На изображении легко можно выделить множе­ство простых объектов — отрезки прямых, ломанные, эл­липс, замкнутые кривые. Представим себе, что пространство рисунка существует в неко­торой координатной системе. Тогда можно описать это изображение, как совокупность простых объектов, вышеперечисленных типов, координаты узлов которых заданы векто­ром, отно­сительно точки начала координат (рис. 1.3).

Рис. 1.3 Векторное изображение и узлы его примитивов

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

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

А изображение будет представлять из себя массив описаний - нечто типа:

отрезок (20,20-100,80);

окружность(50,40-30);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: