Реферат: Обработка изображений с использованием расширения процессора
Программа выполняет изменение значения цветовых составляющих каждого пикселя картинки (загружаемой с жесткого диска) для применения эффекта размытия.
1. Изображение загружается (посредством диалогового окна) в компоненту «TImage».
2. (после выбора пунктов «операции - Размытие Г.») Проверяется на соответствие формату 24 бита на пиксель.
3. В специальном диалоговом окне, вводится опции (радиус зерна размытия), и запускается обработка изображения.
4. Рассчитывается зерно размытия картинки по установленным параметрам, где производится расчет (списка весов) в несколько этапов.
5. выделяется память для обработки изображения попиксельно, а также для обработки строк.
7. копируется изображение в память ЭВМ.
8. построчно производим эффект гауссово размытия к цветовым составляющим каждого пикселя.
9. теперь каждую колонку с помощью созданного списка весов создаем эффект размытия.
10. обработанные данные записываются в результативный компонент «TImage».
11. освобождается выделенная память для скопированного изображения и обработки строк.
12. (по выбору пункта «операции - сохранить» на вкладке «результат») данные результативного изображения сохраняются в файл.
Листинг программы
const
MaxKernelSize = 64;
delay_names = 'миллисекунд';
//for image
PRGBTriple = ^TPxlC;
TPxlC = record//TPxlC
b:byte;
g:byte;
r:byte;
end;
PRow = ^TRow; //массив картинки
TRow = array[0..1000000] of TPxlC;
PPRows = ^TPRows; //массивстрокипикселей
TPRows = array[0..1000000] of PRow;
TKernelSize = 1..MaxKernelSize;
TKernel = record //зерно
Size: TKernelSize; //размер зерна