Тема 8.1 Ввод и обработка графических объектов. Форматы графических объектов.

Тема 8.1 Ввод и обработка графических объектов. Форматы графических объектов.


Задачи и их решения по информатике и математике
Математические модели информационных процессов в технических системах -->> Тема 8.2 Представление о мультимедийных средах. Приложение PowerPoint. Создание презентации

Тема 8.1 Ввод и обработка графических объектов. Форматы графических объектов. Преобразования, эффекты. Создание графических комплексных объектов для различных предметных областей

Компьютерной графики - это специальная область информатики, которая изучает методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов.  Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе. Распространение компьютерной графики началось с полиграфии, но вскоре она получила широкое распространение во всех областях человеческой деятельности. Компьютерную графику можно разделить на несколько направлений:
-         полиграфия
-         двухмерная графика
-         web-дизайн
-         мультимедиа
-         3D-графика и компьютерная анимация
-         видеомонтаж
-         САПР и деловая графика
Для каждой сферы применения создано свое программное обеспечение, включающее разные специальные программы.
Графическая система, графическое ядро
Графические системы служат для создания, поиска, хранения, модификации и вывода графических данных.  Графические системы могут быть пассивными и интерактивными. Пассивные системы обеспечивают вывод графических изображений, при этом человек не может прямо воздействовать на графические преобразования.  Интерактивные системы дают возможность человеку динамически управлять изображением в режиме диалога. Графические системы применяются при синтезе изображения, анализе изображения и обработке изображения. При синтезе изображения из описания объекта, который составил пользователь, получается геометрическая модель объекта с последующим отображением на экране.  Анализ изображения выполняет обратную задачу, т.е. из имеющегося графического изображения получают формальное описание объекта.
Функции графических систем:
- ввод данных;
- вывод графических изображений;
- обработка запросов пользователей;
- поиск и хранение данных;
- выполнение преобразований графической информации.
Основное назначение графической системы состоит в преобразовании двух или трехмерной модели объекта, который формируется прикладной программой, в графические команды и данные, которые либо передаются на устройства, либо запоминаются в той или иной графической структуре данных.
Графическая система ПК состоит из аппаратной и программной частей. Аппаратная часть включает видеоадаптер, монитор и интерфейсы, которые обслуживают графическую систему: один между адаптером и северным мостом, второй – между видеоадаптером и устройством отображения. Программная часть обеспечивает поддержку интерфейсов видеоадаптера, монитора и приложений на уровне BIOS, ОС, драйверов и специализированных прикладных языков программирования (API). Графическая система используется всеми прикладными программами. Приложение использует функции видеоадаптера при посредничестве драйвера, который интерпретирует команды для графического процессора. В соответствии с полученными командами видеоадаптер выводит на монитор изображение. 
Графическая система решает задачи:
-  2D графики. Это задачи интерфейса GUI (Graphic User Interface). Графическим ядром Windows  являются библиотеки GDI и новая версия  GDI+.
-  3D графики. 3D графика представляет собой геометрические модели объектов. Эти модели, как правило,  создаются и обрабатываются специальными  программами, которые выполняются на ЦП и хранятся в ОП ПК. Графическая система используется в основном для вывода трехмерных сцен. Современные видеоадаптеры могут самостоятельно осуществлять создание и обработку геометрических моделей.
- задачи вывода и обработки видеографики.
Графической  подсистемой часто считается часть операционной системы, которая обеспечивает решение задач компьютерной графики. В нее входят программные средства ввода, обработки и  отображения графической информации, а также преобразование данных в графическую форму. Например, пакет OpenGL для Windows. Графическая подсистема состоит из ядра и обширной библиотеки графических функций graphics.lib (ее нужно подключать при компоновке программного модуля).
Графический примитив – это простейший геометрический объект, создаваемый и обрабатываемый как единое целое и отображаемый на устройстве вывода. Существуют графические примитивы двухмерной и трехмерной графики, каждый примитив имеет определенный набор атрибутов. В качестве примеров примитивов можно привести точку, линию, прямоугольник, овал, пирамиду, куб и т. д. В качестве атрибутов – цвет, толщину и форму линии. Основное значение графических примитивов - обеспечить наличие программных средств для рисования всевозможных геометрических объектов. Условно можно разбить все графические примитивы по типу рисуемых ими графических объектов на две группы: контурные и площадные. Функции первой группы рисуют всевозможные контурные линии. Ко второй группе относятся функции, предназначенные для рисования геометрических фигур с закрашиванием ограничиваемых ими областей.
Графическое ядро является частью графической системы. Графическое ядро имеет собственную систему команд и набор элементарных функций работы с графикой. Графическое ядро реализует определенный набор графических примитивов. Основной функцией графического ядра является поддержка вывода графических примитивов.

Независимо от источника получения компьютерного изображения его свойства характеризуются набором основных параметров, включающих размер изображения, разрешение, формат, тип цветовой модели и палитру (цветовое разрешение). Процедура создания цифрового изображения  обычно включает три этапа:
-          ввод или  получение изображения
-          обработку изображения
-          вывод изображения
На этапе ввода или получения изображения цифровой аппарат или сканер  преобразуют (оцифровывают) световую информацию в численные значения, которые сохраняются в файле изображения. В фазе обработки изображения с помощью специального программного обеспечения (графического редактора) происходит обработка числовой информацией об изображении, сохраненной на предыдущем этапе в виде файла. Основной задачей данного этапа является выполнение последовательности шагов для улучшения введенного в компьютер оригинального изображения путем управления и настройки яркости, контраста,  цветности, резкости, кадрирования и других. При выводе изображения реализуется обратная процедура, связанная с преобразованием чисел,  хранящихся в файле изображения, в готовое изображение аналогичное тому,   которое было введено в компьютер на первом этапе. Каждый из перечисленных этапов работы с изображением характеризуется своим типом разрешения. Понятие разрешения включает в себя пространственное разрешение и яркостное разрешение.
Пространственное  разрешение (или просто разрешение) характеризует количество мельчайших элементов информации, из которых состоит изображение.
Яркостное разрешение характеризует количество уровней яркости, которые может принимать отдельный пиксель. Чем выше яркостное разрешение, тем  большее число уровней яркости будет содержать файл изображения. Таким образом, разрешение – это совокупность размера изображения в пикселях и глубины цвета.
Способ организации информации в файл называется форматом.
В компьютерной графике применяют по меньшей мере три десятка форматов файлов для хранения изображений. Но лишь часть из них стала стандартом  «де-факто» и применяется в подавляющем большинстве программ. Как правило, несовмести­мые форматы имеют файлы растровых, векторных, трехмерных изображений, хотя существуют форматы, позволяющие хранить данные разных классов. Многие при­ложения ориентированы на собственные «специфические» форматы, перенос их файлов в другие программы вынуждает использовать специальные фильтры или экспортировать изображения в «стандартный» формат.
Графические форматы различаются по
 - виду хранимых данных (растровая, векторная и смешанная формы),
 -  по допустимому объему данных
 - параметрам изображения
 - хранению палитры
 - методике сжатия данных - по способам организации файла (текстовый, двоичный)
- структуре файла (с последовательной или ссылочной (индексно-последовательной) структурой) и т.д.
Растровый файл состоит из точек, число которых определяется разрешением, измеряемым обычно в точках на дюйм (dpi) или на сантиметр (dpc). Очень важным фактором, влияющим, с одной стороны, на качество вывода изображения, а с другой - на размер файла, является глубина цвета, т.е. число разрядов, отводимых для хранения информации о трех составляющих (если это цветная картинка) или одной составляющей (для полутонового не цветного изображения). Например, при использовании модели RGB глубина 24 разряда на точку означает, что на каждый цвет (красный, синий, зеленый) отводится по 8 разрядов и поэтому в таком файле может храниться информация о 2^24 = 16,777,216 цветах (Обычно в этом случае говорят о 16 млн. цветов). Очевидно, что даже файлы с низким разрешением содержат в себе тысячи или десятки тысяч точек. Так, растровая картинка размером 1024х768 точек и с 256 цветами занимает 768 Кбайт. По сравнению с векторными форматами растровые устроены проще. Это прямоугольная таблица или матрица bitmap, в каждой ячейке или  клетке которой установлен пиксель.
Считывание информации из файла растрового изображения сводится к следующим действиям:
1 - Определяется размер изображения в виде произведения пикселей по горизонтали и вертикали;
2 - Определяется размер пикселя;
3 - Определяется битовая глубина, она характеризует информационную емкость  пикселя в битах или цветовую разрешающую способность (количество цветов).
В цветовом RGB изображении каждый пиксель кодируется 24-битовым числом, поэтому в каждой ячейке битовой матрицы хранится число из 24 нулей и единиц.
Векторный способ записи графических данных применяется в системах автоматического проектирования (CAD) и в графических пакетах. В этом случае изображение состоит из простейших элементов (линия, ломаная, кривая Безье, эллипс, прямоугольник и т.д.), для каждого из которых определен ряд атрибутов (например, для замкнутого многоугольника - координаты угловых точек, толщина и цвет контурной линии, тип и цвета заливки и т.д.). Записывается также место объектов на странице и расположение их друг относительно друга (какой из них "лежит" выше, а какой ниже).
У каждого метода есть свои преимущества. Растровый позволяет передавать тонкие, едва уловимые детали образов, векторный же лучше всего применять, если оригинал имеет отчетливые геометрические очертания. Векторные файла меньше по объему, зато растровые быстрее вырисовываются на экране дисплея, так как для вывода векторного изображения процессору необходимо произвести множество математических операций. С другой стороны, векторные файлы гораздо проще редактировать.
Существует множество программ-трансляторов, переводящих данные из векторного формата в растровый. Как правило, такая задача решается довольно просто, чего нельзя сказать об обратной операции - преобразовании растрового файла в векторный и даже о переводе одного векторного файла в другой. Векторные алгоритмы записи используют уникальные для каждой фирмы-поставщика математические модели, описывающие элементы изображения
Основные критерии выбора формата – это совместимость программ и компактность записи.
 Растровые форматы
В заголовке растрового формата располагаются:
1.                Идентификатор формата (первые несколько байт). Например, в формате BMP это - 2 символа 'BM' (BitMap), в формате GIF  - GIF87a.
2.                Тип данных (RGB или палитра, тип упаковки, кол-во битов на пиксель)
3.                Размеры изображения
4.                Дополнительные параметры (разрешение, строка описания и т.п.)
5 Далее располагается палитра (если она требуется) и массив пикселей. В некоторых форматах начало палитры и массива пикселей указывается  в заголовке, в других - они следуют непосредственно после него.
TIFF (Tagged Image File Format). Формат предназначен для хранения растровых изображений высокого качества (расширение имени файла .ТIF). Относится к числу широко распространенных, отличается переносимостью между платформами (IBM PC к Apple Macintosh), обеспечен поддержкой со стороны большинства графических, верстальных и дизайнерских программ. Предусматривает широкий диапазон цвето­вого охвата — от монохромного черно-белого до 32-разрядной модели цветоделе­ния CMYK. Начиная с версии 6.0 в формате TIFF можно хранить сведения о масках (контурах обтравки) изображений. Для уменьшения размера файла применяется встроенный алгоритм сжатия LZW. Формат .ТIF считается лучшим для импорта растровой графики в векторные программы.
PSD (PhotoShop Document). Собственный формат программы Adobe Photoshop (расширение имени файла .PSD), один из наиболее мощных по возможностям хране­ния растровой графической информации. Позволяет запоминать параметры слоев, каналов, степени прозрачности, множества масок. Поддерживаются 48-разрядное кодирование цвета, цветоделение и различные цветовые модели. Основной недостаток выражен в том, что отсутствие эффективного алгоритма сжатия информации приводит к большому объему файлов, однако данный формат постоянно совершенствуется. Существует еще один формат программы Adobe Photoshop
Windows Bitmap. Формат хранения растровых изображений в операционной системе Windows (расширение имени файла .BMP). Соответственно, поддерживается всеми приложениями, работающими в этой среде. Формат Windows BMP является одним из простейших форматов. Он встроен в операционные системе Microsoft Windows, сжатие в BMP-формате оказывает эффект только при наличии в изображении больших областей одинакового цвета, что ограничивает ценность встроенного алгоритма сжатия. BMP-файлы Windows редко находятся в сжатом виде.
GIF (Graphics Interchange Format).  Формат GIF (Graphics Interchange Format, Формат Взаимообмена Графикой).
Преимущественное использование GIF - передача графических данных в режиме "онлайн" по компьютерным сетям. Эксклюзивный владелец - CompuServe Incorporated. Стандартизирован в 1987 году как средство хранения сжатых изображений с фиксированным (256) количеством цветов (расши­рение имени файла .GIF). Получил популярность в Интернете благодаря высокой степени сжатия. Последняя версия формата GIF89a позволяет выполнять черес­строчную загрузку изображений и создавать рисунки с прозрачным фоном, поддерживает анимированные иллюстрации. Суть чересстрочной записи изображения состоит в том, что в начале файла хранятся строки изображения с номерами кратными 8, потом кратными 4 и т.д. Просмотр изображения идет с нарастающим уровнем детализации, т.е. видно приблизительное изображение до окончания полной загрузки. Ограни­ченные возможности по количеству цветов обусловливают его применение исклю­чительно в электронных публикациях.
Основным форматом  GIF является формат GIF89a (стандарт 1990 года). Отличительные особенности: использование эффективного алгоритма LZW для сжатия (см. далее), возможность сохранять как статические одиночные, так и анимированные изображения, наличие удобных средств наложения изображений, наличие альфа-канала для отдельных цветов, использование текстовых и специальных блоков расширения в файле. Достаточно прост для реализации и хорошо документирован. Преимущество для сетевых технологий - чересстрочный способ кодирования изображений.
RAW – формат хранения фотографий.
Это сравнительно новый формат, относится к профессиональным, размер немного больше, чем .TIFF.  Данный формат обрабатывается не всеми версиями PhotoShop, только  Adobe PhotoShop CS и Adobe PhotoShop CS2. Формат существует в нескольких вариантах и фотография, сделанная на фотоаппарате Panasonic, может не открыться в программе Olympus Master.
Достоинства .RAW – очень высокое качество изображений и низкие потери информации, при пересохранении не происходит потерь качества.
Недостатки .RAW – большой объем фотографий, несовместимость со старым программным обеспечением и некоторыми цифровыми устройствами, например DVD плеером.
Формат PNG – формат разработан для замены формата .GIF. Этот формат использует сжатие без потерь, алгоритм сжатия похож на алгоритм LZW, сжатые файлы меньше, чем файлы .GIF.  Глубина цвета может любой до 48 бит, используется двухмерная запись изображения через строчку не только строк, но и столбцов, поддерживаются полупрозрачные пиксели, в файл записывается информация о гамме коррекции. Гамма коррекция помогает реализации основной цели передачи изображений в Интернете – передаче одинакового отображения информации независимо от аппаратуры пользователя. Распространяется бесплатно.
Для хранения векторных изображений ОС Windows имеет собственный формат .WMF, этот формат обеспечивает быстрый вывод изображения на экран, но искажает цвет и имеет огромные размеры. WMF - Windows Metafile Format. В системе Windows фирмы Microsoft для сохранения и последующего использования цветных изображений используется свой формат метафайла. Метафайл содержит заголовок и собственно описание изображения в виде записей GDI (Graphical Device Interface) функций. Поддерживает векторную и растровую графику. В метафайле записаны команды интерфейса графических устройств (GDI-команды), каждая из которых описывает одну графическую функцию. Для того, чтобы отобразить метафайл, программа передает эти команды специальной функции, которая воспроизводит изображение. Метафайлы обеспечивают независимые от устройства средства хранения и выборки графической информации.
В отличие от растровых файлов, хранящих графическую информацию непосредственно а виде пикселей, метафайлы идеально подходят для таких изображений, как карты, диаграммы, архитектурные чертежи и другие рисунки, состоящие из перекрывающихся фрагментов. Так, например, в САПР, метафайлы могут применяться для запоминания данных. Они также полезны при передаче изображений в их собственных форматах в системный буфер Windows (clipboard) для использования их другими приложениями. Если изображение может быть нарисовано с помощью команд GDI, оно может быть передано другой программе как метафайл. При этом подразумевается, что программа знает, как интерпретировать команды метафайла. Популярные приложения Windows используют WMF-файлы для хранения графической информации.
К универсальным форматам хранения изображения относится формат .EPS, он описывает как векторные, так и растровые изображения на языке описания страниц PostScript. На экран векторные изображения выводятся в формате  - .WMF, растровые - .TIFF.
Итак, форматы растровых изображений - BMP, TIFF, PCX, PSD, IPEG, GIF; форматы векторных изображений – WMF; Универсальные форматы – EPS, PICT, CDR, FLA  и др.