Скачиваний:
113
Добавлен:
01.05.2014
Размер:
964.61 Кб
Скачать

Алгоритм вычисления углов дискретной кривой через анализ поведения угла отклонения касательной к кривой

begin

/* расширение кривой */

for j :=1 to2m do

begin xj+N:=xj;yj+N := yj end;

/*назначение первой точки кривой временной вершиной*/

v0 := 1; p := 0; c := 0;

repeat

l := vp

/* формирование и анализ условной оси отсчета */

определить условную ось отсчета как дискретную дугу

X(l) = {(хj, уj); j := l, l + 1, ..., l + m - 1};

вычислить нормализованную матрицу рассеяния А для дуги X(l)

if ((14 detA)1/2 <)then

begin

отменить ось отсчета X(l);

l :=l + 1

end

else

begin

утвердить ось отсчета Х(1);

if(l – vp>d) then

/* определение вершины сравнением с параметром d */

begin

с : = с + 1; р := р + 1; vp := l;

пометить вершину vp как вершину превышения параметра d

end

else

begin

/*определение вершины анализом отклонения касатель­ной */

repeat

k := vp + 1;

определить дискретную дугу

Y(k) = {(хj, уj); j := k, k + 1, ..., k + m - 1};

вычислить нормализованную матрицу рассеяния В для дуги Y(k)

Найти косинус уела отклонения касательной для дуг Х(l), Y(k) no формуле

(*) ;

k := k + 1

until ((k>N + 1) or (cos2cos2)

if (k >N + l) then

/*уточнение места вершины */

определить множество значений отклонений касательной для дискретных дуг

Y(j - m), Y(j) по формуле (*) как

;

if ({j+1 - j} меняет знак для j = k, k + 1, ..., k + m — 1) then

vp+1:=j

else

vp+1:=k+ m/2;

пометить вершину vp+1 как вершину превышения порога от­клонения касательной;

с := с + 1;

р :=р+ 1;

end

end

until l>N

end

При этом в алгоритме приняты следующие обозначения:

Y(k) дискретная дуга (подмножество точек кривой), состоящая из m точек, начиная с k-й;

X((l), Y(k)) угол отклонения касательной для двух дис­кретных дуг Х(l), Y(k);

aij, bij элементы матриц рассеяния А и B двух дискретных дуг;

det А определитель матрицы А:

vp идентификатор вершины (порядковый номер точки, соответствующей вершине на дискретной кривой);

р —порядковый номер вершины.

Методы кусочно-линейной аппроксимации достаточно детально освещены в [14, 17].

Отметим, что иногда в качестве примитивных элементов контура удобно принимать более сложные конструкции, чем прямолинейные отрезки и углы. Например, примитивами могут выступать дуги заданной конфигурации. В этом случае в аппроксимации участвуют кривые выше первого порядка либо форма примитивов описывается комбинацией прямолинейных отрезков и углов [37, 71].

3. 4. 1. Синтез структурных

описаний кривых

Синтез структурных описаний осуществляется посредством установления формальных отношений между примитивными элементами, выделенными на предыдущем этапе. Можно вы­делить три подхода к решению проблемы синтеза структурных описаний. В рамках синтаксического подхода, непосредственно заимствованного из классической теории формальных грамматик и языков, изображение описывается строковыми (одномерными) грамматиками, символами алфавита которых явля­ются примитивные элементы формы, либо грамматиками более высокой размерности (грамматиками сетей, таблиц, гра­фов, деревьев). Отметим, что при использовании грамма­тик более высокой размерности устраняется недостаток одномерной конкатенации символов-примитивов и делается воз­можным использование грамматик указанного типа для опи­сания не только контурных изображений, но и областей. Таким образом, исходное изображение может интерпретироваться как строка языка, порожденного некоторой грамматикой. Син­таксический разбор этой строки осуществляет проверку корректности организации данной строки в отношении правил грамматики, представляющей некоторый класс форм. Дерево разбора используется для структурного описания формы объ­екта (изображения) [28, 43].

Синтактико-семантнческий подход к синтезу структурных описаний основан на использовании атрибутных грамматик (одномерных и более высокой размерности), учитывающих семантическую информацию при описании изображении в яв­ном виде. Здесь по-прежнему синтаксический разбор являет­ся заключительной фазой анализа, но введение семантических правил делает описание изображения более информативным [43, 45]. Альтернативный подход к синтезу структурных описаний кривых — использование реляционных структур, ус­танавливающих отношение между выделенными примитивными элементами без использования синтаксических методов. Такими структурами могут быть взвешенные графы (устанавливающие обычно пространственные отношения между примитивами) или «деревья полосок» (strip trees), устанав­ливающие отношения типа «часть— целое» [32, 47, 65].

Синтаксические методы используют в задачах распознавания и описания зрительных образов, что накладывает строгие требования на тип входного изображения [43]:

объекты изображения могут быть разложены на относи­тельно небольшое число примитивов, причем примитивы долж­ны быть выделены четко и однозначно;

примитивы должны быть распознаваемы автоматической процедурой;

изображение должно быть хорошо структурировано.

В этой связи наиболее эффективное применение синтаксические методы нашли в таких задачах, как анализ рукописных и печатных текстов, иероглифов, волновых форм, пе­чатных плат, чертежно-графической информации (ЧГИ) и т. д. [28, 43, 44, 45]. К сожалению, далеко не все классы ре­альных изображений обладают указанными выше свойствами. Не всегда удается легко распознавать примитивы. Поэ­тому при их выборе часто требуется компромисс между использованием примитивов как фундаментальных частей изображения и простотой их распознавания. Обычно для контур­ных изображений хорошими примитивами являются отрезки линий (прямолинейные отрезки могут быть охарактеризованы началом, концом, длиной и углом наклона отрезка, криволи­нейные — началом, концом и кривизной).

На этапе синтеза структурного описания осуществляется конструирование (вывод) грамматики, порождающей язык описания изображения. Здесь также приходится выбирать между описательной мощностью грамматики и эффективно­стью распознаватели (алгоритма синтаксического анализа).

Создано множество эвристических процедур вывода грам­матик для описания изображений хромосом, шрифтов, химических структур, отпечатков пальцев. Поиски эффективных дескриптивных грамматик привели к созданию грамматик более высокой размерности (сетей, таблиц, графов. деревьев) [28, 43]. В настоящее время сформулированы два основных аналитических подхода к проблеме вывода грамматик — через перенумерацию и посредством индуктивного вывода [43]. Первый использует информацию о наборе строк целевого язы­ка и наборе строк, не принадлежащем целевому языку. Вто­рой исходит из рекурсивной структуры грамматики: рекурсивная структура ищется путем отсечения и вставки подстрок из «правильной» строки и проверки результирующей строки на «правильность» [43].

Наиболее привлекательное свойство синтаксических мето­дов описания заключается в возможности задавать практически произвольную допустимую степень детализации иерар­хической структуры формы и получать таким образом не толь­ко глобальное описание формы, но и локальное описание нуж­ной точности.

Как уже отмечалось, применение строковых грамматик часто неэффективно, а иногда просто невозможно, например, для множества классов изображений в силу одномерного ха­рактера конкатенации символов. В целях устранения недо­статков, свойственных одномерной конкатенации, разработаны грамматики более высокой размерности [28, 35, 43, 69]. В мо­нографии [28] подробно освещены проблемы применения од­номерных грамматик, а также грамматик деревьев, сетей, гра­фов в задачах синтеза структурного описания изображений. Интересным классом дескриптивных грамматик более высокой размерности являются и грамматики таблиц.

Изометрическая грамматика таблиц [35, 69] есть пятерка G = (VN, VT, Р, S, #), где, как обычно, VNконечное непустое множество нетерминальных символов; VTконечное непустое множество терминалов; и фон, или пустой символ; Р — конечное множество продук­ций в форме , где и  — геометрически идентичные таблицы (массивы), построенные на множестве ;  состоит не из всех пустых символов #; — начальный символ. Подстановки совершаются следующим образом: таблицау непосредственно выводима из х, если существует продукция , такая, что — подтаблица из x, а у иден­тична x, только вместо подтаблицы  содержит в соответ­ствующем месте подтаблицу . Язык L(G), порожденный грамматикой таблиц, — множество всех таблиц, составленных из терминальных символов, символов # и выводимых из символа S на фоне, состоящем из символа #.

В качестве примера рассмотрим грамматику таблиц, порождающую всевозможные конфигурации формы латинской U с тремя сторонами произвольной длины [69]:

G = ({S, S1, S2, S3}, {a}, P, S, #).

Продукции из Р:

Соседние файлы в папке LECTURE12