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

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

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

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

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

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

Оба типа данных имеют свои достоинства и недостатки, оба не исключают а взаимно дополняют друг друга, однако многие из ГИС могут работать как только с векторными моделями, которые создаются на основе векторных типов данных, так и с растровыми моделями, а иногда и с теми и с другими вместе.

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

Кодирование рисунка

Рис. 9.1. Кодирование рисунка

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

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

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

Крест можно разбить на девять равных частей, каждая из которых будет иметь однородный цвет — черный или белый. Обозначим черный цвет единицей, а белый — нулем. Запишем все получившиеся цифры, начиная с левой части верхнего ряда (рис. 9, б). Мы получили матрицу:

О 1 О 1 1 1 О 1 О

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

000011110000 000011110000 000011110000 и так далее.

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

Изображения, закодированные описанным способом, называются растровыми изображениями, или растром.

Части, на которые разбиваются изображения, называют пикселями (Picture Element — элемент изображения). Пиксели часто называют точками, так как они очень малы. Рисунок из множества пикселей можно сравнить с мозаикой, когда из большого количества разноцветных камешков собирается произвольная картина. Если через увеличительное стекло рассмотреть изображение на экране телевизора или часть газетной иллюстрации, то можно увидеть растр — мелкие точки и пятнышки разной величины и цвета. Так и для моделирования изображения в компьютере оно раскладывается на множество точек, расположенных рядами и столбцами, в своего рода «мозаику», причем координата каждого элемента этой мозаики известна — это номер строки и (или) столбца в матрице чисел.

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

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

Пока говорилось, что пиксель — маленькая часть рисунка. А каков размер пикселя? Не определив размер пикселя, невозможно построить изображение на основе закодированных данных. Если же мы зададим размер, то без проблем восстановим закодированный рисунок. Однако на практике не используют размер пикселей, а задают две другие величины: размер рисунка и его разрешение. Размер описывает физические габариты изображения, т. е. его высоту и ширину.

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

Например, размер рисунка компьютера равен 32 на 32 пикселя. При отображении на мониторе и последующей печати на принтере каждый пиксель представляется отдельной точкой, если оборудование не делает специальных преобразований. На старых мониторах с крупным зерном экрана монитора рисунок получится большим, а на современном принтере, в котором используются мельчайшие точки, рисунок получится очень маленьким. А каким он должен быть на самом деле ? Для этого задается разрешение изображения. Разрешение — это плотность размещения пикселей, формирующих изображение, т. е. количество пикселей на заданном отрезке. Чаще всего разрешение измеряется в количестве точек на дюйм — dpi (Dot Per Inch). Например, если мы укажем, что наш рисунок на компьютере имеет разрешение 72 dpi, это означает, что на каждом дюйме может разместиться семьдесят два пикселя. При отображении рисунков на мониторе используют разрешение от 72 dpi до 120 dpi, т.е. чем выше степень разрешения (72dpi, 120dpi, 200dpi и т. д.), тем меньше размер растровой точки и .соответственно, тем выше качество передачи изображения. При печати самым распространенным разрешением является 300 dpi, но для получения высококачественных отпечатков на современных цветных принтерах и плоттерах можно использовать и большее разрешение.

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

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

Как уже отмечалось, чтобы получить в рисунке естественные цвета, следует использовать для кодирования каждого цвета четыре байта. Современные цветные принтеры и плоттеры печатают изображения с разрешение до 2000 dpi. Для представления с таким разрешением и глубиной цвета изображения формата А4 (обычный лист бумаги), потребуется памяти около 765 мегабайт (Mb). Даже для современных компьютеров это слишком много. Но рисунки размерами по 50 мегабайт обрабатываются без особенных затруднений. Аэрофотоснимок размером 10><15см и глубиной цвета 24 бита может занять 395 килобайт (КЬ) если используется разрешение 75 dpi, или более 35 мегабайт (Mb) при использовании разрешения 720 dpi.

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

Растровые изображения обладают одним очень существенным недостатком: их трудно увеличивать или уменьшать, т. е. масштабировать. При уменьшении растрового изображения несколько соседних точек преобразуются в одну, поэтому теряется разборчивость мелких деталей изображения. При увеличении — увеличивается размер каждой точки, поэтому появляется ступенчатый контур и изображение начинает «сыпаться». Кроме того, растровые изображения занимают много места в памяти и на диске. Чтобы избежать указанных проблем, применяют векторный способ кодирования изображений.

Самые простые типы изображения — штриховые. Они слагаются из отдельных линий, отрезков, дуг, из которых можно создавать различных комбинации. Из элементарной математики мы знаем, что любой отрезок — это вектор, который характеризуется и определяется на плоскости координатами начала и конца отрезка. В векторном способе кодирования геометрические фигуры, кривые и прямые линии, составляющие рисунок, хранятся в памяти компьютера в виде математических формул и геометрических абстракций, таких как круг, квадрат, эллипс и им подобных фигур. Например, чтобы закодировать круг, не надо разбивать его на отдельные пиксели, а следует запомнить его радиус, координаты центра и цвет. Для прямоугольника достаточно знать размер сторон, место, где он находится, и цвет закраски. С помощью математических формул можно описать самые разные фигуры. Любое изображение в векторном формате состоит из множества составляющих частей, которые можно редактировать независимо друг от друга. Эти части называются объектами. Так как с помощью комбинации нескольких объектов можно создавать новый объект, объекты могут иметь достаточно сложный вид.

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

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

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

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >