ВУЗ:
Составители:
Рубрика:
- 10 -
2 Лабораторная работа 2. Принципы создания ПО для
обработки изображений
2.1 Цель работы – приобретение практических навыков в создании ПО для
обработки изображений в виде двумерной растровой однослойной графики с
использованием систем быстрой разработки приложений Delphi и C++Builder
фирмы Borland Int.
2.2 Теоретические основы.. При наличии в составе языка программирова-
ния средств доступа к информации
о каждом пикселе (обычно интенсив-
ность каждой из трех составляющих цвета) не представляет труда реализо-
вать практически любую обработку видеоизображения. Несмотря на это, раз-
работка профессиональных приложений (уровня PhotoShop,
www.adobe.com,
PaintShop,
www.jasc.com и т.п.), включающих сотни самых разнообразных ви-
деоэффектов, тем не менее требует серьезной работы коллектива программи-
стов. Т.к. необходимо последовательно проводить преобразования многих
тысяч пикселов, для достижения приемлемой производительности часть про-
граммного кода создается с использованием ассемблера. Заметим, что зачас-
тую при пиксельных преобразованиях конечный результат получается
неза-
висимо от других; это позволяет эффективно распараллеливать процесс вы-
числений.
Приведенными ниже примерами иллюстрированы простые возможности
изменения изображений, при этом функции компрессии/декомпрессии, изме-
нения палитры и др. выполняются с помощью штатных средств компонент
сред быстрой разработки приложений. Профессиональные пакеты работы с
графикой поддерживают слои (совмещенные по координатам независимые
изображения, причем обычно часть слоя в фоновом цвете считается про-
зрачной), при этом допускается обработка каждого слоя как независимо, так
и совместно с другими. Ниже рассматривается работа с растровой графикой;
векторная графика (типичный представитель – пакет CorelDraw,
www.adobe.com) в целом проще и полученные с ее помощью изображения
легко конвертируются в растр (обратное утверждение неверно).
Доступ к контексту дисплея в GDI (Graphic Device Interface) Windows API
реализуется посредством свойства Canvas (полотно) компонента TImage. Для
копирования цвета (32-х битовое целое в Windows) из пиксела iX,iY (правая
нижняя декартова система координат) в переменную iColor применяется сле-
дующий код (аналогично происходит
обратное копирование):
long int iColor; // код цвета (32 бита)
…
iColor=Image1->Canvas->Pixels[iX][iY];
Размер (в пикселах) области визуализации определяется как:
2 Лабораторная работа 2. Принципы создания ПО для обработки изображений 2.1 Цель работы – приобретение практических навыков в создании ПО для обработки изображений в виде двумерной растровой однослойной графики с использованием систем быстрой разработки приложений Delphi и C++Builder фирмы Borland Int. 2.2 Теоретические основы.. При наличии в составе языка программирова- ния средств доступа к информации о каждом пикселе (обычно интенсив- ность каждой из трех составляющих цвета) не представляет труда реализо- вать практически любую обработку видеоизображения. Несмотря на это, раз- работка профессиональных приложений (уровня PhotoShop, www.adobe.com, PaintShop, www.jasc.com и т.п.), включающих сотни самых разнообразных ви- деоэффектов, тем не менее требует серьезной работы коллектива программи- стов. Т.к. необходимо последовательно проводить преобразования многих тысяч пикселов, для достижения приемлемой производительности часть про- граммного кода создается с использованием ассемблера. Заметим, что зачас- тую при пиксельных преобразованиях конечный результат получается неза- висимо от других; это позволяет эффективно распараллеливать процесс вы- числений. Приведенными ниже примерами иллюстрированы простые возможности изменения изображений, при этом функции компрессии/декомпрессии, изме- нения палитры и др. выполняются с помощью штатных средств компонент сред быстрой разработки приложений. Профессиональные пакеты работы с графикой поддерживают слои (совмещенные по координатам независимые изображения, причем обычно часть слоя в фоновом цвете считается про- зрачной), при этом допускается обработка каждого слоя как независимо, так и совместно с другими. Ниже рассматривается работа с растровой графикой; векторная графика (типичный представитель – пакет CorelDraw, www.adobe.com) в целом проще и полученные с ее помощью изображения легко конвертируются в растр (обратное утверждение неверно). Доступ к контексту дисплея в GDI (Graphic Device Interface) Windows API реализуется посредством свойства Canvas (полотно) компонента TImage. Для копирования цвета (32-х битовое целое в Windows) из пиксела iX,iY (правая нижняя декартова система координат) в переменную iColor применяется сле- дующий код (аналогично происходит обратное копирование): long int iColor; // код цвета (32 бита) … iColor=Image1->Canvas->Pixels[iX][iY]; Размер (в пикселах) области визуализации определяется как: - 10 -
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »