ВУЗ:
Составители:
Рубрика:
- 16 -
k
ij
– коэффициенты фильтра,
c
ij
– интенсивность цвета в точках исходного изображения.
Например, при использовании фильтра с iN=jN=5 обрабатываемая (ij-тая)
точка изображения совпадает c k
33
(при этом точка изображения i-3, j-3 про-
ецируется на k
11
, точка изображения i+3, j+3 проецируется на k
55
и т.д.). Та-
ким образом преобразование для каждой точки исходного изображения
арифметически сводится приблизительно к N
2
(N – размер матрицы фильтра)
операций целочисленного умножения и сложения; при значительном разре-
шении изображения необходимо использовать ассемблер и функции MMX
и/или SSE [3].
При реализации подобных операций с использованием языков высокого
уровня значительную часть времени отнимает считывание значений интен-
сивности цвета исходного изображения в c
ij
(i=1
÷
iN, j=1 ÷ jN) и запись рас-
считанного color_ij в образ модифицированного изображения; при этом целе-
сообразно работать не с (визуализирующим изображение) объектом Image, а
с внеэкранным контейнером (для визуального контроля изменения изобра-
жения полезно регулярно копировать порции обработанного изображения в
Image). В предлагаемом ПО (файл Paint.exe) изображение загружается в Im-
age и копируется во внеэкранный образ fltImage, оттуда же
копируются эле-
менты матрицы c
ij
, после описанного преобразования значение интенсивно-
сти цвета color_ij записывается непосредственно в Image (в дисплейное окно)
- см. процедуру ApplyFilter в модуле Main.cpp (проект Paint.bpr).
Рисунок 2.1 — Вид окна определения параметров фильтра в программе
Paint.exe
kij – коэффициенты фильтра, cij – интенсивность цвета в точках исходного изображения. Например, при использовании фильтра с iN=jN=5 обрабатываемая (ij-тая) точка изображения совпадает c k33 (при этом точка изображения i-3, j-3 про- ецируется на k11, точка изображения i+3, j+3 проецируется на k55 и т.д.). Та- ким образом преобразование для каждой точки исходного изображения 2 арифметически сводится приблизительно к N (N – размер матрицы фильтра) операций целочисленного умножения и сложения; при значительном разре- шении изображения необходимо использовать ассемблер и функции MMX и/или SSE [3]. При реализации подобных операций с использованием языков высокого уровня значительную часть времени отнимает считывание значений интен- сивности цвета исходного изображения в cij (i=1 ÷ iN, j=1 ÷ jN) и запись рас- считанного color_ij в образ модифицированного изображения; при этом целе- сообразно работать не с (визуализирующим изображение) объектом Image, а с внеэкранным контейнером (для визуального контроля изменения изобра- жения полезно регулярно копировать порции обработанного изображения в Image). В предлагаемом ПО (файл Paint.exe) изображение загружается в Im- age и копируется во внеэкранный образ fltImage, оттуда же копируются эле- менты матрицы cij, после описанного преобразования значение интенсивно- сти цвета color_ij записывается непосредственно в Image (в дисплейное окно) - см. процедуру ApplyFilter в модуле Main.cpp (проект Paint.bpr). Рисунок 2.1 — Вид окна определения параметров фильтра в программе Paint.exe - 16 -
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »