В процессе работы программа обращается к следующим подпрограммам:
- wlog – подпрограмма вывода сообщений в журнал вычислений;
- NeigCount – подпрограмма получения количества соседних точек;
- NeigNode – подпрограмма рекурсивной обработки узловых точек;
- NodeCentre – подпрограмма вычисления центра узла;
- DrawGrid – подпрограмма вывода сетки изображения.
Описание логики
Схема программы AnalyzeNode представлена на рис. 2.5. Здесь представлено текстовое описание схемы проргаммы:
1. Начало;
2. Инициализация массива узлов;
3. i=0; j=0; z=0;
4. Если j>=N, то переход к п.11;
5. Если i>=M, то переход к п.10;
6. Если (apix[i][j]=1)и(apix2[i][j]<0)и(NeigCount(i,j)>2), то переход к п.7, иначе к п.9;
7. z=z+1;
8. NodeSelect(i,j,z);
9. i=i+1; переход к п.5;
10. i=0; j=j+1; переход к п.4;
11. Конец.
Настройка программных средств
Для работы программы необходимо наличие операционной системы Windows 95/Windows NT или более поздней версии. Для работы программы с данными, размещенными в сети, необходима настройка сетевых подключений операционной системы к рабочей группе.
|
|
Схема программы AnalyzeNode Рис. 2.5
3. РАЗРАБОТКА ЗАДАЧИ «ПОИСК СЕГМЕНТОВ»
Описание постановки задачи
Характеристика задачи
Задача «Поиск сегментов» предназначена для определения в составе обрабатываемого графического изображения сегментов линий, получаемых в результате пересечения последних. В процессе выполнения данной задачи осуществляется нахождение сегментов линий, позволяющее, основываясь на узлах, полученных в результате работы задачи «Поиск узлов» (ее характеристика приведена в пункте 2.1.1), выделить структурные элементы изображения. В результате выполнения задачи «Поиск сегментов» можно получать описание исходного графического изображения, подвергая его кодированию и/или последующей обработке, в том числе и в подсистемах синтеза графических изображений. Данная задача является основным звеном в цепи линейной сегментации обработки изображений, ее результаты позволяют наблюдать работу всей подсистемы в целом. В задаче можно выделить следующие основные части:
- поиск отдельных сегментов линий, не содержащих узлов и являющихся самостоятельными линиями;
- поиск сегментов линий, одна из начальных точек которой является узлом, таким образом, сегмент является начальной (конечной) частью линии;
- поиск сегментов линий, обе начальных точки, которой являются узлами, таким образом, сегмент является продолжением одной из линий.
В каждой из этих частей присутствуют особенности, связанные с различными характеристиками структурных элементов графического изображения. Формирование результатов обработки различается по способу передачи их в другие подсистемы (например, цепного кодирования). Так, в случае описания сегментов линий, полностью образованных узлами возникает необходимость передачи дополнительной координаты для однозначного определения направления движения при формировании цепного кода.
|
|
Входная информация
В качестве входной информации для данной задачи используются:
- массив точек исходного изображения;
- массив узлов, содержащий описания узловых точек: их области, центры и их уникальную нумерацию для однозначной идентификации;
Выходная информация
В данной задаче формируется массив сегментов, содержащий описания сегментов линий и их номера для последующей идентификации при исследовании и кодировании