Лекции по "Компьютерной графике"

Автор: Пользователь скрыл имя, 18 Октября 2011 в 01:13, курс лекций

Краткое описание

Работа содержит лекции по дисциплине "Компьютерная графика".

Файлы: 1 файл

kr - extended version.doc

— 1.24 Мб (Скачать)

Лекция 1 

1.1. Области,  связанные с обработкой изображения 

    При  обработке информации, связанной  с изображением выделяют три  направления : COMPUTER VISION, IMAGE PROCESSING и COMPUTER  GRAPHICS.

    Computer (Machine) Vision – компьютерное “зрение”.

Предположим, есть некоторая сцена (аудитория, комната и др.) Компьютер должен дать описание этой сцены (есть ли в ней предметы, -какая освещенность и т. д.). Computer Vision (CV) переводит изображение в описание:

 

        CV 

                  

                     

Иначе говоря, СV занимается анализом образов.

Применение:

  1. Распознавание образов (текста)
  2. Ввод рисунков (для последующего масштабирования, обработки)
  3. Управление в пространстве (обычно по линиям на полу)
 

  Computer (Machine) Graphics – компьютерная (машинная) графика.

Задача системы  компьютерной графики :

пусть у нас  есть описание какого-либо объекта, явления ,

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

      

                       CG 

                 

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

Применение:

  1. Системы CAD (computer-aided design)
  2. Отображение результатов работы программы (графики и т.п.)
  3. Спецэффекты в рекламе, кинематографе
  4. Игры
 
 

      Image Processing – обработка изображения. 

    IP 

 

Задачи  обработки изображения :

1.Устранение  дефектов изображения (напр., устранение  снега на фотопленке)

2.Улучшение изображения  (напр., сделать темнее недодержанную фотографию)

3. Упрощение  изображения  ( напр.,

             цветное          черно-белое                           каркасное) 

 
 
 

Получаем такую  схему:

                            Изображение

                        и        о

                                          з        п

          о        и     б       с     р        а     а        н     ж        и     е        е     н        и                                                                                                                е  
           
           

1.2. Изображение  и его машинное представление 

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

  Изображение  можно охарактеризовать с помощью  функции оптической плотности (интенсивности):

    I = g(x,y) – непрерывная функция яркости.

Если мы будем  брать значения функции в определенных точках, мы получим матрицу (каждом элемент матрицы gij –значение функции интенсивности в точке (i,j)).С помощью такой матрицы изображение представляется в машине. Элемент отображаемой матрицы- picture element- pixel.

   Если  изображение черно-белое, нам  достатачно градаций :

  1. отсутствие света (черный);

255- белый. Поэтому   нам достаточно 1 байта на каждый  пиксел.

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

      Применяются три основные схемы кодирования  цвета

      RGB (Red,Green,Blue) аддитивный цвет для задания цвета на экране монитора. Куб.

      CMYK (Cyan,Magenta,Yellow,blacK) субтрактивный цвет для печати.

      HSB(HSL) (Hue (тон), Saturation  (насыщенность), Brightness (яркость )(( lightness)освещенность)) более привычный глазу человека (тон- оттенок цвета (0-360 красный, зеленый, синий, красный), насыщенность – относительная интенсивность, чистота цвета (0-белый,1-чистый), яркость – величина на которую умножается цвет). Цилиндр. 

RGB -> CMY

Cyan    = 1-Red

Magenta = 1-Green

Yellow  = 1-Blue 

CMY -> CMYK

Black=minimum(Cyan,Magenta,Yellow)

Cyan=(Cyan-Black)/(1-Black)

Magenta=(Magenta-Black)/(1-Black)

Yellow=(Yellow-Black)/(1-Black) 

CMYK -> CMY

Cyan=minimum(1,Cyan*(1-Black)+Black)

Magenta=minimum(1,Magenta*(1-Black)+Black)

Yellow=minimum(1,Yellow*(1-Black)+Black)

 
 
 
 
 
 
 
 

Учитывая, что

Red:   (1;0)

Green: (cos(120 deg);sin(120 deg)) = (-0.5; 0.866)

Blue:  (cos(240 deg);sin(240 deg)) = (-0.5;-0.866) 
 

a = Red-0.5*(Green+Blue)

b = 0.866*(Green-Blue)

Hue = arctan2(a,b)/(2*PI) ;

Saturation = (a^2+b^2)^0.5

Luminosity = (Red+Green+Blue)/3 

Другие схемы  кодирования цвета:

1. Lab (a,b – из вычисления HSL)

2. YUV – в телевизионных системах (PAL,SECAM,NTSC(в ней не сами U,V, а их линейная комбинация).

U= Blue - яркость, V= Red - яркость

Для PAL 

   RGB -> YUV                                     | YUV -> RGB

   Y =  0.299*Red+0.587*Green+0.114*Blue       | Red   = Y+0.000*U+1.140*V

   U = -0.147*Red-0.289*Green+0.436*Blue       | Green = Y-0.396*U-0.581*V

   V =  0.615*Red-0.515*Green-0.100*Blue       | Blue  = Y+2.029*U+0.000*V 

Представление изображения в современных видеоадаптерах. В виде RGB. 24 бита - 888, 16 бит - 565, 8 бит – палитра. 

1.3. Описание  сцены и его машинное представление 

Сцена – набор объектов (в т.ч. источников света) которые нужно отобразить (или которые получаются при распознавании).

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

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

1. Пространственное  расположение и форма – геометрия  объекта и некоторые атрибуты  цвет, текстура.

2. Топология  (связность с  другим объектом).

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

1. Конструктивное (Constructive solid geometry or CSG) .

2. Граничное либо поверхностное (Boundary representation or  Brep). Тела задаются поверхностями, которые ограничены.  

Представление CSG моделей .

С таким подразбиением  можно проводить набор операций:

а) пересечение;

б) объединение;

в) вычитание;  

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

Представление поверхностных моделей.

 

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

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

Лекция 2 

Использование графических интерфейсов. 

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

Схема работы приложения:

  1. Инициализация графического интерфейса
  2. Работа с графическим интерфейсом (подготовительные действия, построение изображения, завершающие действия)
  3. Освобождение графического интерфейса
 

Инициализация графического интерфейса – это переключение в графический режим из текстового (для DOS) (BC:initgraph, VESA: mov ah,4Fh, int 10h), создание окна (для Windows), создание буфера для формирования изображения (BackBuffer, страницы видеопамяти), получение адреса буфера изображения, размеров окна и формата пикселов (размеров скан-линии), инициализация дополнительных интерфейсов (DDraw, D3D, OPENGL). 

Освобождение  графического интерфейса – это освобождение дополнительных интерфейсов (DDraw, D3D, OPENGL), удаление буфера для формирования изображения, переключение обратно в текстовый режим (для DOS) (BC:closegraph), удаление окна (для Windows).  

Подготовительные  действия – это очистка BackBuffer-а, его блокирование (Lock) для записи (DDraw), подготовка 3D-интерфейсов. 

Завершающие действия – это разблокирование BackBuffer-а, выполнение 3D-интерфейсов, копирование BackBuffer-а на экран. 

Функции GUI: 

//Инициализация графического интерфейса -

int driver = EGA; int mode   = EGAHI; int res;

initgraph ( &driver, &mode, "" );

if ( ( res = graphresult () ) != grOk )

{ printf("\nGraphics error: %s\n", grapherrormsg ( res) ); exit ( 1 ); }

for ( int frame = 0;; frame++ )

{

      setactivepage ( frame &1 );  // переключение страниц

      setvisualpage (1 – (frame &1) );

      clearviewport ();   // очистка

      line(frame% getmaxx (),0, getmaxx (),getmaxy ()); // размеры окна

      if ( kbhit () ) { getch (); break; }

}

// Завершающие действия 

Информация о работе Лекции по "Компьютерной графике"