Компьютерная графика. 21

 

Введение

 

Представление данных на мониторе компьютера в  графическом виде впервые  было реализовано в середине 50-х  годов для больших ЭВМ, применявшихся  в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа  компьютерных систем, в особенности  персональных. Графический интерфейс  пользователя сегодня является стандартом “де-факто” для программного обеспечения  разных классов, начиная с операционных  систем.

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

Цель работы - изучить  цифровую обработку графики.

 

Глава 1. Компьютерная графика

 

 

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

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

В 1961 году программист С. Рассел возглавил проект по созданию первой компьютерной игры с графикой. Создание игры («Spacewar!») заняло около 200 человеко-часов. Игра была создана на машине PDP-1.

В 1963 году американский учёный Айвен Сазерленд создал программно-аппаратный комплекс Sketchpad, который позволял рисовать точки, линии и окружности на трубке цифровым пером. Поддерживались базовые действия с примитивами: перемещение, копирование и др. По сути, это был первый векторный редактор, реализованный на компьютере. Также программу можно назвать первым графическим интерфейсом, причём она являлась таковой ещё до появления самого термина.

В середине 1960-х гг. появились  разработки в промышленных приложениях  компьютерной графики. Так, под руководством Т. Мофетта и Н. Тейлора фирма Itek разработала цифровую электронную чертёжную машину. В 1964 году General Motors представила систему автоматизированного проектирования DAC-1, разработанную совместно с IBM.

В 1964 году  группой под руководством Н. Н. Константинова была создана компьютерная математическая модель движения кошки. Машина БЭСМ-4, выполняя написанную программу решения дифференциальных уравнений, рисовала мультфильм «Кошечка», который для своего времени являлся прорывом. Для визуализации использовался алфавитно-цифровой принтер.

В 1968 году cущественный прогресс компьютерная графика испытала с появлением возможности запоминать изображения и выводить их на компьютерном дисплее, электронно-лучевой трубке. [2]

 

Основные  области применения

 

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

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

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

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

Художественная и рекламная  графика — ставшая популярной во многом благодаря телевидению. С помощью компьютера создаются рекламные ролики, мультфильмы, компьютерные игры, видеоуроки, видеопрезентации. Графические пакеты для этих целей требуют больших ресурсов компьютера по быстродействию и памяти. Отличительной особенностью этих графических пакетов является возможность создания реалистических изображений и «движущихся картинок». Получение рисунков трёхмерных объектов, их повороты, приближения, удаления, деформации связано с большим объёмом вычислений. Передача освещённости объекта в зависимости от положения источника света, от расположения теней, от фактуры поверхности, требует расчётов, учитывающих законы оптики.

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

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

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

  • конференция Siggraph, проводится в США
  • конференция Графикон, проводится в России
  • CG-событие, проводится в России
  • CG Wave, проводится в России [2]

Техническая сторона

 

По способам задания изображений  графику можно разделить на категории:

По способам задания изображений 

Двухмерная (2D — от англ. two dimensions — «два измерения») компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.

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

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

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

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

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

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

В растровом виде представимо  любое изображение, однако этот способ хранения имеет свои недостатки: больший  объём памяти, необходимый для  работы с изображениями, потери при  редактировании. [3]

Фрактальная графика.

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

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

Трёхмерная графика (3D — от англ. three dimensions — «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.

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

Всеми визуальными преобразованиями в 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц:

  • матрица поворота
  • матрица сдвига
  • матрица масштабирования

Любой полигон можно представить  в виде набора из координат его  вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного. [5]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 2. Представление графических данных

 

 

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

TIFF (Tagged Image File Format). Формат предназначен для хранения растровых изображений высокого качества (расширение имени файла .TIF). Относится к числу широко распространенных, отличается переносимостью между платформами (IBM PC и Apple Macintosh), обеспечен поддержкой со стороны большинства графических, верстальных и дизайнерских программ. Предусматривает широкий диапазон цветового охвата – от монохромного черно-белого до 32-разрядной модели цветоделения CMYK. Начиная с версии 6.0 в формате TIFFможно хранить сведения о масках (контурах обтравки) изображений. Для уменьшения размера файла применяется встроенный алгоритм сжатия LZW.

PSD (PhotoShop Document). Собственный  формат программы Adobe Photoshop (расширение  имени файла .PSD), один из наиболее  мощных по возможностям хранения  растровой графической информации. Позволяет запоминать параметры  слоев, каналов, степени прозрачности, множества масок. Поддерживаются 48-разрядное кодирование цвета,  цветоделение и различные цветовые  модели. Основной недостаток выражен  в том, что отсутствие эффективного  алгоритма сжатия информации  приводит к большому объему  файлов.

PCX. Формат появился как  формат хранения растровых данных  программы PC PaintBrush фирмы Z-Soft и  является одним из наиболее  распространенных (расширение имени  файла .PCX). Отсутствие возможности  хранить цветоделенные изображения,  недостаточность цветовых моделей  и другие ограничения привели  к утрате популярности формата.  В настоящее время считается  устаревшим.

JPEG (Joint Photographic Experts Group). Формат  предназначен для хранения растровых  изображений (расширение имени  файла .JPG). Позволяет регулировать  соотношение между степенью сжатия файла и качеством изображения. Применяемые методы сжатия основаны на удалении “избыточной” информации, поэтому формат рекомендуют использовать только для электронных публикаций.

GIF (Graphics Interchange Format). Стандартизирован  в 1987 году как средство хранения  сжатых изображений с фиксированным  (256) количеством цветов (расширение  имени файла .GIF). Получил популярность  в Интернете благодаря высокой  степени сжатия. Последняя версия  формата GIF89a позволяет выполнять  чересстрочную загрузку изображений  и создавать рисунки с прозрачным  фоном. Ограниченные возможности  по количеству цветов обусловливают  его применение исключительно  в электронных публикациях.

PNG (Portable Network Graphics). Сравнительно  новый (1995 год) формат хранения  изображений для их публикации  в Интернете (расширение имени  файла .PNG). Поддерживаются три  типа изображений – цветные  с глубиной 8 или 24 бита и черно-белое  с градацией 256 оттенков серого. Сжатие информации происходит  практически без потерь, предусмотрены  254 уровня альфа-канала, чересстрочная  развертка.

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

EPS (Encapsulated PostScript). Формат  описания как векторных, так  и растровых изображений на  языке PostScript фирмы Adobe, фактическом  стандарте в области допечатных  процессов и полиграфии (расширение  имени файла .EPS). Так как язык PostScript является универсальным, в  файле могут одновременно храниться  векторная и растровая графика,  шрифты, контуры обтравки (маски), параметры  калибровки оборудования, цветовые  профили. Для отображения на  экране векторного содержимого  используется формат WMF, а растрового  – TIFF. Но экранная копия лишь  в общих чертах отображает  реальное изображение, что является  существенным недостатком EPS. Действительное  изображение можно увидеть лишь  на выходе выводного устройства, с помощью специальных программ  просмотра или после преобразования  файла в формат PDF в приложениях  Acrobat Reader, Acrobat Exchange.

PDF (Portable Document Format). Формат  описания документов, разработанный  фирмой Adobe (расширение имени файла  .PDF). Хотя этот формат в основном  предназначен для хранения документа  целиком, его впечатляющие возможности  позволяют обеспечить эффективное  представление изображений. Формат  является аппаратно-независимьм,  поэтому вывод изображений допустим на любых устройствах – от экрана монитора до фотоэкспонирующего устройства. Мощный алгоритм сжатия со средствами управления итоговым разрешением изображения обеспечивает компактность файлов при высоком качестве иллюстраций. [6]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глава 3. Цвет и цветовые модели

 

 

В компьютерной графике применяют  понятие цветового разрешения (другое название – глубина цвета). Оно  определяет метод кодирования цветовой информации для ее воспроизведения  на экране монитора. Для отображения  черно-белого изображения достаточно двух бит (белый и черный цвета). Восьмиразрядное  кодирование позволяет отобразить 256 градаций цветового тона. Два байта (16 бит) определяют 65 536 оттенков (такой  режим называют High Color). При 24-разрядном  способе кодирования возможно определить более 16,5 миллионов цветов (режим  называют

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

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

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

Третий закон Грассмана (закон аддитивности). Цвет смеси  излучений зависит только от их цвета, но не спектрального состава. То есть цвет (С) смеси выражается суммой цветовых уравнений излучений:

C1=R1R+G1G+B1B;

C2=R2R+G2G+B2B;

Cn=RnR+GnG+BnB;

Cсумм=(R1+R2+…+Rn)R+(G1+G2+…+Gn)G+ (B1+B2+…+Bn)B.

Цветовая модель CIE Lab.

В 1920 году была разработана  цветовая пространственная модель CIE Lab (Communication Internationale de I'Eclairage – международная  комиссия по совещанию. L, a, b – обозначения  осей координат в этой системе). Система  является аппаратно независимой  и потому часто применяется для  переноса данных между устройствами. В модели CIE Lab любой цвет определяется светлотой (L) и хроматическими компонентами: параметром а, изменяющимся в диапазоне  от зеленого до красного, и параметром b, изменяющимся в диапазоне от синего до желтого. Цветовой охват модели CIE Lab значительно превосходит возможности  мониторов и печатных устройств, поэтому перед выводом изображения, представленного в этой модели, его  приходится преобразовывать. Данная модель была разработана для согласования цветных фотохимических процессов  с полиграфическими. Сегодня она  является принятым по умолчанию стандартом для программы Adobe Photoshop.

Цветовая модель RGB.

Цветовая модель RGB является аддитивной, то есть любой цвет представляет собой сочетание в различной  пропорции трех основных цветов –  красного (Red), зеленого (Green), синего (Blue). Она служит основой при создании и обработке компьютерной графики, предназначенной для электронного воспроизведения (на мониторе, телевизоре). При наложении одного компонента основного цвета на другой яркость  суммарного излучения увеличивается. Совмещение трех компонентов дает ахроматический серый цвет, который при увеличении яркости приближается к белому цвету. При 256 градационных уровнях тона черному  цвету соответствуют нулевые  значения RGB, а белому – максимальные, с координатами (255,255,255).

Цветовая модель HSB.

Цветовая модель HSB разработана  с максимальным учетом особенностей восприятия цвета человеком. Она  построена на основе цветового круга  Манселла. Цвет описывается тремя  компонентами: оттенком (Hue),насыщенностью (Saturation) и яркостью (Brigfitness). Значение цвета выбирается как вектор, исходящий  из центра окружности. Точка в центре соответствует белому цвету, а точки  по периметру окружности – чистым спектральным цветам. Направление вектора  задается в градусах и определяет цветовой оттенок. Длина вектора  определяет насыщенность цвета. На отдельной  оси, называемой ахроматической, задается яркость, при этом нулевая точка  соответствует черному цвету. Цветовой охват модели HSB перекрывает все  известные значения реальных цветов.

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

Цветовая модель CMYK, цветоделение.

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

голубой (cyan) = белый - красный = зеленый + синий;

пурпурный (magenta) = белый - зеленый = красный + синий;

желтый (yellow) = белый - синий = красный + зеленый.

Такой метод соответствует  физической сущности восприятия отраженных от печатных оригиналов лучей. Голубой, пурпурный и желтый цвета называются дополнительными, потому что они  дополняют основные цвета до белого. Отсюда вытекает и главная проблема цветовой модели CMY – наложение друг на друга дополнительных цветов на практике не дает чистого черного  цвета. Поэтому в цветовую модель был включен компонент чистого  черного цвета. Так появилась  четвертая буква в аббревиатуре цветовой модели CMYK (Cyan, Magenta, Yellow, blacK). Для  печати на полиграфическом оборудовании цветное компьютерное изображение  необходимо разделить на составляющие, соответствующие компонентам цветовой модели CMYK. Этот процесс называют цветоделением. В итоге получают четыре отдельных  изображения, содержащих одноцветное  содержимое каждого компонента в  оригинале. Затем в типографии с  форм, созданных на основе цветоделенных  пленок, печатают многоцветное изображение, получаемое наложением цветов CMY. [6]

 

Глава 4. Общая схема цифровой обработки изображений

 

 

Рассмотрим процесс обработки  изображений в виде следующей  последовательности:

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

Энтропийное сжатие.

 Получение исходного, «сырого» изображения.

Изображения для обработки  условно можно разбить на четыре класса:

Естественные, полученные путем  сканирования, захвата теле или видео  кадра, съемкой цифровой аппаратурой.

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

Трехмерные сцены, синтезированные  с помощью специальных программ, таких как: CAD’ы (AutoCAD, ArchiCAD ...), 3D генераторы (3D Studio, LightWave ...) и т.п.

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

Естественные изображения  имеют некомпьютерное происхождение. В них почти нет резких цветовых переходов. Компьютерные рисунки, как  в прочем и любые другие, подразделяются на два типа: растровые и векторные. В первом изображение хранится как  прямоугольная матрица с элементами, характеризующими цветовые составляющие. В векторных изображение - последовательность команд для его построения. Пример команды - круг с центром в точке (100,100) и радиусом 50, текстурированный материалом под дерево. Преимущество растровых - простота воспроизведения  и реалистичность, недостаток - большой  занимаемый объем, проблемы с масштабированием. У векторных наоборот, преимущество - небольшой занимаемый объем, легкость масштабирования, недостаток - необходимость  предварительной обработки перед  воспроизведением и трудность создания реалистичных изображений. Трехмерные сцены вынесены в отдельный класс, так как в процессе их создания (например, прямой или обратной трассировкой луча, методом излучательности) можно получить дополнительные данные (характеристики прямого и диффузного отражения света, преломления ... объектов сцены) и использовать их при дальнейшей обработке. Изображения, как результат опыта и т.п. необходимо обработать, с целью выявить его особые характеристики, например, выделить часть изображения лежащую в заданном спектре и т.п. В дальнейшем мы будем рассматривать в основном растровые изображения.

Форматирование и индексирование изображения.

В данном разделе будем  рассматривать изображение как  прямоугольную матрицу A={ai,j} с N столбцами и M строками, где N - ширина изображения в пикселях, M - высота изображения в пикселях. Рассмотрим основные форматы, применяемые в компьютерной обработке изображений:

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