Технические средства обработки изображений

Рис.3

Технические средства поддержки компьютерной графики

Трёхмерная графика

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

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

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

§ матрица поворота

§ матрица сдвига

§ матрица масштабирования

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

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

Возникновение компьютерной графики, как уже говорилось ранее, можно отнести к 50-м годам. Дисплейная графика на первом этапе своего развития использовала электронно-лучевые трубки (ЭЛТ) с произвольным сканированием луча для вывода в виде изображения информации из ЭВМ. С эксперимента в Массачусетском технологическом институте начался этап развития векторных дисплеев (дисплеев с произвольным сканированием луча).

Самым простым из устройств на ЭЛТ является дисплей на запоминающей трубке с прямым копированием изображения. Запоминающая трубка обладает свойством длительного времени послесвечения: изображение остается видимым в течение длительного времени (до одного часа). При выводе изображения интенсивность электронного луча увеличивают до уровня, при котором происходит запоминание следа луча на люминофоре. Сложность изображения практически не ограничена. Стирание происходит путем подачи на всю трубку специального напряжения, при котором свечение исчезает, и эта процедура занимает приблизительно 0,5 с. Поэтому изображения, полученные на экране, нельзя стереть частично, а стало быть, динамические изображения или анимация на таком дисплее невозможны. Дисплей на запоминающей трубке является векторным, или дисплеем с произвольным сканированием, т.е. он позволяет провести отрезок из одной адресуемой точки в любую другую. Его достаточно легко программировать, но уровень интерактивности у него ниже, чем у ряда дисплеев других типов ввиду низкой скорости и плохих характеристик стирания.

Следующий тип - это векторные дисплеи с регенерацией изображения. При перемещении луча по экрану в точке, на которую попал луч, возбуждается свечение люминофора экрана. Это свечение достаточно быстро прекращается при перемещении луча в другую позицию (обычное время послесвечения - менее 0,1 с). Поэтому, для того чтобы изображение было постоянно видимым, приходится его "перерисовывать" (регенерировать изображение) 50 или 25 раз в секунду. Необходимость регенерации изображения требует сохранения его описания в специально выделенной памяти, называемой памятью регенерации. Само описание изображения называется дисплейным файлом. Понятно, что такой дисплей требует достаточно быстрого процессора для обработки дисплейного файла и управления перемещением луча по экрану.

Обычно серийные векторные дисплеи успевали 50 раз в секунду строить только около 3000–4000 отрезков. При большем числе отрезков изображение начинает мерцать, так как отрезки, построенные в начале очередного цикла, полностью гаснут к тому моменту, когда будут строиться последние.

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

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

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

Векторные дисплеи обычно подключаются к ЭВМ высокоскоростными каналами связи. Первые серийные векторные дисплеи за рубежом появились в конце 1960-х годов.

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

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

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

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

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

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

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


Рис. 1.3. Световое перо

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

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


Рис. 1.6. Перчатка для ввода данных


Рис. 1.7. Планшет

При использовании мыши или трекбола анализируется относительное положение устройства. Если переместить указатель на экране каким-либо способом в другое место, не вращая при этом шарик мыши или трекбола, то дальнейшие сигналы будут смещать указатель относительно новой позиции. Можно также аккуратно переместить мышь без вращения шарика и это не приведет к перемещению курсора на экране. Абсолютные координаты устройства не считываются обрабатывающей программой. Но при вводе в компьютер графиков прикладной программе зачастую требуются абсолютные координаты устройства ввода. Такую возможность обеспечивают разного рода планшеты (рис. 1.7). В планшете применяется, как правило, ортогональная сетка проводов, расположенная под его поверхностью. Положение пера определяется через электромагнитное взаимодействие сигналов, проходящих от проводов к щупу. Иногда в качестве планшета используются чувствительные к прикосновению прозрачные экраны, которые наносятся на поверхность ЭЛТ. Небольшие экраны такого типа размещаются иногда на клавиатуре портативных компьютеров. Чувствительные панели можно использовать в режимах как абсолютных, так и относительных координат.

Для растрового ввода изображений используются сканеры, позволяющие не только ввести образ в компьютер, но и произвести их обработку и документирование. Одна из важных областей применения сканеров - ввод текстов. При этом обработка введенного изображения выполняется программным обеспечением распознавания текстов, которое в настоящее время стало уже достаточно развитым. В САПР сканеры используются для автоматизации ввода ранее подготовленной конструкторской документации. В этом случае проблема заключается в том, что данные от сканера представлены в растровой, а не векторной форме, и требуется выполнение обратного преобразования "растр-вектор". Эта задача очень сложна: необходимо распознавать различные изображения и тексты, в том числе рукописные, учитывать, что линия может при сканировании не только получить различную ширину на разных участках, но и оказаться разорванной и т.д. Для решения этой задачи средств одной лишь компьютерной графики недостаточно: необходимо привлечение и других дисциплин.

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

На большинстве ПК (включая и IBM PC) принят растровый способ изображения графической информации – изображение представлено прямоугольной матрицей точек (пикселей), каждый пиксель имеет свой цвет, выбираемый из заданного набора цветов (палитры).

Для этого компьютер содержит видеоадаптер, который хранит в своей памяти (называемой видеопамятью) изображение, причем на каждый пиксель выделяется определенное число бит памяти; кроме того видеоадаптер обеспечивает регулярное (50-70 раз в сек) отображение видеопамяти на экране монитора. Основными видеоадаптерами для IBM PC/AT и PS/2 являются:

CGA (Color Graphics Adapter), EGA (Enhanced Graphics Adapter), VGA (Video Graphics Array), SVGA (Super Video Graphics Array) и т.д., совместимые по принципу преемственности.

Адаптер EGA и все, совместимые с ним, наиболее часто используют т.н. RGB- представление цветов:

- Red (красный) - 0/1

- Green (зеленый) - 0/1

- Blue (синий) - 0/1

Например, (0,0,0) – черный, (1,1,1) – белый, (1,1,0) – желтый,

(1,0,1) – малиновый.

Палитра (Palette) это массив, в котором каждому значению пикселя сопоставляется значение цвета (r,g,b), выводимое на экран. Размер палитры и ее организация зависят от типа используемого видеоадаптера.

Наиболее простая палитра видеоадаптера EGA рассчитана на 16 цветов и для каждого пикселя отводится 6 бит из байта – по 2 бита на каждую компоненту

    r g b R G B

Реализация палитры VGA требует, кроме аналога палитры EGA, наличия дополнительно 256 специальных регистров (DAC-регистры), где для каждого цвета хранится его 18-битовое представление (по 6 бит на каждую компоненту). При этом исходному номеру цвета с использованием 6-битовых регистров палитры сопоставляется значение от 0 до 63, но оно уже является не RGB-разложением цвета, а номером DAC-регистра, содержащего физический цвет.

Встречается также условное разложение цвета для VGA на 4 составляющих CMYB:

- Cyan (светло-голубой),

- Magenta (сиреневый)

- Yellow (желтый)

- Black (черный).

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

пиксель

C M C M C M
Y B Y B Y B
C M C M C M
Y B Y B Y B

Рис.2

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

а) 1 цвет – все линии горизонтальные,

б) 2 цвета – первый цвет – горизонтальные линии, а второй – диагональные,

в) 3 цвета – горизонтальные, вертикальные и диагональные линии.

а) один цвет б) два цвета в) три цвета

               
     
 
 
   
 
   
 
   
 
 
   


Заметим, что в векторном изображении интенсивность цвета зависит от его содержания, т.е. сложные цвета выгладят более яркими.

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

Для большинства режимов работы видеоадаптера для хранения всего изображения экрана требуется 256 Кбайт; объем видеопамяти больше, поэтому он делится на равные части, называемые видеостраницы, по 256 Кбайт.

Например, могут быть выделены 2 видеостраницы (нулевая и первая).

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

Использование видеостраниц позволяет строить последовательности кадров при мультипликации. Для устранения мерцания кадров одна видеостраница (видимая) – это кадр на экране, а следующая (активная, но не видимая) – очищается и на ней помещается следующий кадр.


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



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