|
|
sqrt |
Функция, вычисляющая корень квадратный |
^ |
Операция возведения в степень |
2.5. Описание алгоритма обработки изображения
2.5.1. Назначение и характеристика алгоритма
Алгоритм описывает обработку изображения кольцевым фильтром. В алгоритме используются кольцевой фильтр. В результате решения алгоритма выполняется прохождение фильтра по изображению и сохранение результата в файл.
1. Name = FormNewFileName(OpenDialog1->FileName);
2. outIm=fopen(Name,"wb");
3. fwrite(&Width,sizeof(Width),1, outIm);
4. fwrite(&Height,sizeof(Height),1, outIm);
5. RingFiltrPoint(insideR,outsideR);
6. i=outsideR;
7. j=outsideR;
8. CrArr[i][j]=CentroidRelax(i,j,insideR,outsideR);
9. j++;
10. Если j<Height-outsideR, то переход к п. 8
11. i++;
12. Если i< Width-outsideR, то переход к п. 7
13. i=0;
14. j=0;
15. fwrite(&CrArr[i][j],sizeof(CrArr[i][j]),1, outIm);
16. j++;
17. Если j<Height, то переход к п. 15
18. i++;
19. Если i<Width, то переход к п. 14
20. fclose(outIm);
21. Конец;
2.5.3. Список условных обозначений
Условные обозначения, используемые в описании алгоритма, приведены в табл. 2.4.
Таблица 2.4
Список условных обозначений
Обозначение
Расшифровка
outIm
Выходной файловый поток
Name
Имя выходного файла
FormNewFileName
Функция, формирующая новое имя выходного файла
OpenDialog1->
FileName
Имя файла, открытого с помощью диалога “Открыть”
fopen
Функция открытия файла
outsideR
Внешний радиус кольца
insideR
Внутренний радиус кольца
RingFiltrPoint
Функция вычисления точек фильтра
Обозначение
Расшифровка
CrArr
Массив кривизны линий
CentroidRelax
Функция вычисления кривизны
fwrite
Функция записи в файл
sizeof
Функция вычисления размера переменной
fclose
Функция закрытия файла
2.6. Описание программы «Центроидная релаксация»
2.6.1. Вводная часть
Программа «Центроидная релаксация» применяется для автоматизации процесса структурного анализа графического изображения. При этом программа использует человеко-машинный интерфейс: человек выбирает, чем оперировать и параметры обработки данных, а программа выполняет все необходимые расчеты.
Для начала работы следует загрузить файл изображения или выходной файл подсистемы центроидной фильтрации (изображение, обработанное центроидным фильтром), и задать параметры кольцевого фильтра для его обработки. После этого программа обнаруживает линии и вычисляет их кривизну. Результаты работы сохраняются в файл.
Программа имеет обозначение Relax, разработана в среде программирования Borland C++ Builder 6.0.
2.6.2. Функциональное назначение
Программа выполняет анализ структурного описания изображения, полученного в результате центроидной фильтрации. Программа использует алгоритмы, описанные в подразделах 2.2-2.5.
Для функционирования программы необходим следующий комплекс технических средств:
– процессор Intel Pentium 900 MHz;
– подсистема «Центроидная релаксация» занимает около 15 Мб оперативной памяти. Оболочка системы ААПСИ занимает около 5 Мб оперативной памяти. Дополнительно к этому и оболочка и программа выделяют память под рабочее изображение. Таким образом, оболочка использует дополнительную память, соответствующую размерам изображения, а программа использует память, соответствующую двум размерам изображения;
– для размещения ОС Windows XP и прикладных задач на жестком диске необходимо минимально 1,5 Гб свободного пространства. Система ААПСИ занимает около 10 Мб на жестком диске. Программа занимает около 1 Мб на жестком диске. Дополнительное место на диске занимают файлы изображений используемых программой, а также файлы создаваемые программой. С учетом этого на диске необходимо выделить достаточное пространство для всех файлов (от 100 Мб и выше);
– видеоподсистема с объемом памяти 32 Мб;
– цветной SVGA монитор с диагональю не менее 15’’ и разрешением не ниже 800x600 (рекомендуется 1024x768);
– русифицированная клавиатура;
– манипулятор «мышь».
При возможных сбоях, программа после устранения сбоя может оперировать с имеющимися сохраненными данными.
2.6.3. Описание информации
Вся входная и выходная информация, используемая и создаваемая программой, находится в каталоге проекта системы ААПСИ. Структура файлов описана в подразделах 2.1.2 и 2.1.3. Программа использует входные данные из этих файлов, обозначенные следующими идентификаторами:
– Width – ширина исходного изображения;
– Height – ширина исходного изображения;
– ImArr – исходное изображение подготовленное для дальнейшей обработки;
Программа создает выходные данные, обозначенные следующими идентификаторами:
– СrArr – матрица кривизны структурных элементов изображения;
2.6.4. Используемые подпрограммы
В программе используются следующие подпрограммы:
– RingFiltrPoint – вычисление точек кольцевого фильтра;
– CenrMass – определение центра масс;
– CentroidRelax – расчет кривизны структурного элемента;
– Imaging – обработка входного изображения;
– OpenFLD – открытие и подготовка файла описания изображения, полученного после центроидной фильтрации, к работе.
2.6.5. Описание логики
Описание логики программы «Центроидная релаксация» приведено на рис. 2.9.
Логика программы «Центроидная релаксация»
Рис. 2.9
2.7. Описание контрольного примера
2.7.1. Назначение
Контрольный пример предназначен для проверки корректности работы подсистемы «Центроидная релаксация».
2.7.2. Исходные данные
В качестве исходных данных использовался файл изображения, приведенный на рис. П.2.7.
2.7.3. Результаты расчета
После обработки должны быть сформированы все необходимые файлы структурного описания обработанных изображений. К ним относятся файлы одного и того же изображения, обработанного разными фильтрами, а также файлы различных изображений в зависимости от выбора пользователя. Для наблюдения эффекта релаксации необходимо обработать исходное изображение серией кольцевых фильтров различных радиусов. В результате проведения серии экспериментов должна наблюдаться картина постоянства кривизны структурных элементов при использовании фильтров различных радиусов. В этом и состоит эффект релаксации.
2.7.4. Результаты испытания
В результате обработки данных контрольного примера получены изображения, представленные на рис. П.2.8 – П.2.26. Результаты полностью соответствуют ожиданиям. Программа справляется с решением задачи «Центроидной релаксации».
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
При использовании материалов активная ссылка на источник обязательна.