- •Глава 3
- •3.1. Задача описания
- •3. 1.1. Содержательная
- •3.1.2. Общие подходы
- •3.2. Методы и алгоритмы
- •3.2.1. Категории признаков.
- •3.2.2. Методы и алгоритмы
- •Сканирующий алгоритм определения связности
- •3.2.2. Методы и алгоритмы
- •Методы и алгоритмы подсчета признаков
- •Алгоритм подсчета метрических признаков на пирамидах
- •Сканирующий алгоритм вычисления метрических признаков
- •3.3. Методы вычисления
- •3.4. Структурные методы
- •3. 4. 1. Структурные методы
- •Методы сегментации кривых
- •Алгоритм оценки кривизны дискретной кривой через кусочно-линейную аппроксимацию кривой
- •Алгоритм вычисления углов дискретной кривой через анализ поведения угла отклонения касательной к кривой
- •3. 4. 1. Синтез структурных
- •1) , 4) ,
- •2) , 5) ,
- •3) , 6) ,
- •Алгоритм построения «дерева полосок»
- •3. 4. 3. Структурные методы
- •Построение реляционные дескриптивных структур на основе разбиения области
- •Алгоритм разбиения многоугольника на выпуклые составляющие
- •Алгоритм построения дерева вогнутостей
- •Алгоритм прослеживания границ для построения дерева связности
- •Построение реляционных дескриптивных структур на основе декомпозиции области через покрытие
Алгоритм построения «дерева полосок»
program «Дерево полосок»;
begin
PUSH «» STACK1;
DC : ={cb,ce};
STR(DC, cm,wl,wr);
ifwl+wr wmin then go toLL
else
begin
LAB: PUSH «2» STACK1;
PUSH «{ cm,ce}» STACK2;
PUSH «{cb,cm}» STACK2;
while STACK1do
begin
DC: =STACK2;
STR(DC, cm,wl,wr);
POP STACK2;
lf wl+wr >wmin
then beginSTACK1:=STACK1- 1;
go toLAB end
elseSTACK1: = STACK1- 1;
ifSTACK1= thenPOP STACK1
end
end
LL: (* объект прямолинейный *)
end (* программы*)
procedure STR(DC,cm,wl,wr)
begin
Определить наименьший аппроксимирующий прямоугольник Rn со стороной, параллельной отрезку прямой [cb, ce], полностью содержащий отрезок дискретной кривой {cb, ce};
Найти первую точку касания отрезка дискретной кривой {cb, ce} с аппроксимирующим прямоугольником Rn, обозначив ее Сm;
Сформировать узел дерева полосок Vn путем задания параметров (wl, wr) аппроксимирующего прямоугольника Rn;
return
end (* процедуры STR *)
В данном алгоритме приняты следующие обозначения:
{cb, ce} — отрезок дискретной кривой, определенный своими начальной и конечной точками cb, ce;
[cb, ce] — отрезок вещественной прямой, соединяющий точки дискретной кривой cb, ce;
wmin — параметр условия аппроксимации отрезка {cb, ce} прямоугольником Rn, задаваемый априори в качестве глобальной, переменной;
STACK1 — стек, содержащий количество рассматриваемых отрезков дискретной кривой на данном уровне разбиения;
STACK2 — стек, содержащий рассматриваемые отрезки разбиения дискретной кривой;
PUSH «X» STACK1 — операция «загрузить X в стек»;
POP STACK1 — операция «разгрузить стек»;
STACK1, STACK2 — значения переменных в вершинах стеков;
.
Описание на основе дерева полосок позволяет эффективно решать многие задачи, часто встречаемые в анализе изображений: исследование контуров на наличие пересечений, определение положения точки по отношению к замкнутому контуру, анализ контура на пересечение с областью и т. д. [32, 37].
Итак, мы рассмотрели проблемы, связанные с построением структурных описаний кривых. Отметим, что разделение объектов на «контурные объекты» и «объекты-области» в достаточной степени условно, так как любой замкнутый контур определяет границу некоторой области. Однако у всех представленных выше методов общим является то, что синтез структурного описания осуществляется здесь на базе примитивов контурного типа. Результатом этого процесса, независимо от используемого подхода, является реляционная дескриптивная структура, реализующая тот или иной тип отношений между примитивами. Рассмотрим проблемы построения структурных описаний на базе примитивных элементов-областей.
3. 4. 3. Структурные методы
описания областей
Структурный подход к описанию областей изображений заключается в выделении простых по форме компонент, «заполняющих» область, и последующем синтезе дескриптивных реляционных структур на основе выявленных отношений между этими компонентами. Сама процедура декомпозиции области на примитивные составляющие может осуществляться либо через поиск разбиения, либо через поиск покрытия области [37]. Если первое направление традиционно по отношению к структурным методам описания (все методы, изложенные выше, основаны на разбиении границы на примитивные элементы), то второе приводит к специфическому для внутренних точек области типу описания. Процесс построения дескриптивной структуры в этом случае является, по существу, одним из способов преобразования объектов-областей в объекты контурного типа [32, 56, 47].