Программирование мультимедиа-систем. Баканов В.М. - 10 стр.

UptoLike

Составители: 

- 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 -