Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_kg.doc
Скачиваний:
27
Добавлен:
26.04.2019
Размер:
1.45 Mб
Скачать
  1. Анализ, синтез и обработка изображений.

Компьютерная графика (computer graphics) - это область информатики (науки о компьютерах - computer sciences), которая изучает все вопросы, связанные с обработкой и синтезом изображения с помощью ЭВМ.

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

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

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

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

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

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

Пользователи, интерфейсы, стандарты машинной графики.

Функциональные стандарты (GKS, PHIGS).

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

В стандарте GKS-3D содержится набор обобщённых операций на 3-х мерными объектами, полностью совместимых с 2-х мерной версией стандарта.

Интерфейс машинной графики (CGI) регламентирует интерфейс между системой, реализующей функциональный стандарт и графическими устройствами, с которыми она взаимодействует.

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

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

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

Для сжатия изображения используется стандарт – FIF.

MFC

Microsoft foundation classes - библиотека классов, которая, как нетрудно догадаться программистами Microsoft. Стоит денег и немалых, а нас ведь в молодости учили, что воровать нехоршо :) IMHO, программировать на MFC не намного проще чем непосредственно на WinAPI. Такие возможности как менеджеры компоновок, интернационализация и т.д. Microsoft обещает сделать в следующей версии Windows. Библиотека упомянута в обзоре лишь потому, что большинство программистов пишут программы для Windows, знакомы с этой библиотекой и могут сравнить ее с другими.

GTK

Эта C-библиотека изначально проектировалась как набор виджетов для разработки графического редактора GIMP. Поддерживает все возможности описанные ранее. Распространяется под GPL. Существую биндинги для Python, Perl и ряда других языков. К недостаткам можно отнести не очень высокое качество документации.

Qt

C++-библиотека разработана фирмой Trolltech. Библиотека содержит множество классов как для построения интерфейсов, так и вспомогательных: реализующих функциональность классов STL, обеспечивающих поддержку сетевых протоколов и баз данных т.д. Классы очень удобны. Например для статического текста применяется класс QLabel. Такая метка может быть связана с другим виджетом и акселератор или горячую клавишу (hot-key). При нажатии на эту клавишу фокус будет передан на связанный виджет. Эта возможность очень полезна для создания в диалоговых окна подписей к редакторам текста, спискам и т.д.

Особенностью библиотеки является использование для связывания событий и их обработчиков механизма сигналов (signal) и слотов (slot). Такой подход является очень гибким, но требует дополнительных инструментов для преобразования сигналов и слотов в обычные методы C++. В Qt для этих целей применяется metobject compiler (moc), который в большинстве случаев запускается автоматически.

Библиотека содержит механизм интернационализации, аналогичный gettext, но существующий также и для Windows.

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

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

Библиотека распространяется под несколькими лицензиями. Для коммерческого использования она стоит денег. Для UNIX существует GPL-версия. 4-я версия библиотеки для Windows также будет распространяться под GPL.

DirectDraw  [4]

OpenGL  [9]

GGI  [3]

Программные 3D движки  [27]

Glide  [1]

 

 

OpenGL является одним из самых популярных прикладных программных интерфейсов (API – Application Programming Interface) для разработки приложений в области двумерной и трехмерной графики.

Стандарт OpenGL (Open Graphics Library – открытая графическая библиотека) был разработан и утвержден в 1992 году ведущими фирмами в области разработки программного обеспечения как эффективный аппаратно-независимый интерфейс, пригодный для реализации на различных платформах. Основой стандарта стала библиотека IRIS GL, разработанная фирмой Silicon Graphics Inc.

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

На сегодняшний день графическая система OpenGL поддерживается большинством производителей аппаратных и программных платформ. Эта система доступна тем, кто работает в среде Windows, пользователям компьютеров Apple. Свободно распространяемые коды системы Mesa (пакет API на базе OpenGL) можно компилировать в большинстве операционных систем, в том числе в Linux.

Характерными особенностями OpenGL, которые обеспечили распространение и развитие этого графического стандарта, являются:

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

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

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

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

В отличие от стандартных библиотек, пакет GLUT нужно инсталлировать и подключать отдельно. Все команды (процедуры и функции) библиотеки GL начинаются с префикса gl, все константы – с префикса GL_. Соответствующие команды и константы библиотек GLU и GLUT аналогично имеют префиксы glu (GLU_) и glut (GLUT_)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]