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

Алгоритм подсчета метрических признаков на пирамидах

begin

NS := 0; NP := 0;

for i := 1 to MB do

if (VALUE'(bli) = 1) then NS := NS + AR(bli);

for j := 1 to ME do

if (VALUE(edi) = 1) then NP := NP + WID(edi);

end.

В [32] приведен алгоритм подсчета площади объекта на ос­нове рекурсивной процедуры, отражающей рекурсивный ха­рактер квадродерева как структуры данных. Пусть анализируемое изображение задано квадродеревом QTR, узлам кото­рого qtl(i) соответствуют черные, белые и серые блоки. При этом qtl(i) соответствует серый блок тогда и только тогда, ког­да четыре его «потомка»* не одноцветны либо серые;l — номер уровня квадродерева, так что l = J, J - 1, ..., 1, 0; J = log2N, N размер изображе­ния. В противном случае блок qtl(i) либо черный (черные «потомки»), либо белый (белые «потомки»). Каждый узел qtl(i) задает подграф (квадродерево), имеющий этот узел в качестве корневой вершины. Процедура-функция AREA(Y, l) име­ет в качестве параметров: Y название блока, обозначающего корневую вершину подграфа; l - номер уровня квадроде­рева, и допускает рекурсивное обращение. Тело этой процеду­ры имеет следующий вид.

Процедура подсчета площади дискретного объекта с использованием пирамидальных представлений

begin

NS := 0; J := log2N;

for l := J down to 1 do

begin

K := 4J – l

for i :-= 1 to K do

if (VALUE'(qtl(i)) = -1) then

for code := NW, NE, SW, SE do

NS := NS + AREA(,l – 1)

else

if (VALUE'(qtl(i)) = 1) then NS := NS + 4l

end

end(тела процедуры).

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

Метод регулярного анализаприводит к клас­су сканирующих алгоритмов.В данном классе алгоритмов особый интерес представляют однопроходовые сканирующие алгоритмы, осуществляющие анализ изображений последова­тельно строка за строкой и получающие окончательные ре­зультаты к моменту завершения обработки последней строки изображения. Такой способ организации вычислительного про­цесса имеет в качестве основы рекуррентную структуру вычислений, когда на каждом шагеi(номер строки изображения) вычисляемые параметры являются функцией от своих (i —1) приближений и вновь полученной информации.В основе пос­троения такого рода алгоритмов лежит идея А. Розенфельда по анализу единичных серий строк [14]. При этом n-я единич­ная серия i-й строки есть последовательность подряд идущих единиц (элементов дискретного объекта DBi), которая характеризуется координатой начала и конца. Такую серию будем в дальнейшем обозначать через

.

Пусть на анализируемом изображении присутствует MD дискретных объектов DBm, т = 1, 2, ..., MD. Для нахождения числа объектов и параметров NS, NP, а, b, i0, j0, каждого из них можно использовать следующий рекуррентный алгоритм.

Сканирующий алгоритм вычисления метрических признаков

begin

Найти первую строку L0, содержащую единичную серию:

m := 0;

for i:=L0 toNROW do

if (i=L0)then while (jNPIX)do

begin

Поиск единичной серии i-й строки;

if (серия найдена)then

begin

m: = m + 1;

Формирование параметров DB(i)(m)

end

end

else

begin

n: =0:

while(jNPIX) do

begin

Поиск единичной серии i-й строки;

if (серия найдена) then

begin

n: = n + 1;

Идентификация ;

if (серия идентифицирована) then

КоррекцияDB(i)(m) else

begin m := m + 1; Формирование DB(i)(m) end

end

end

end

end(алгоритма).

В пpиведенном алгоритме ряд процедур и условий следует пояснить. Процедура «Найти первую строку L0, содержащую единичную серию», пропускает без анализа «нулевой уча­сток» изображения и находит первую строку с номером L0, содержашую единичные элементы. Процедура «Поиск единичной серии i-й строки» находит одно скопление Ser(i); при повторном обращении к ней находят следующее скопление и т. д. пока не будет просмотрена вся строка. Процедура «Форми­рование параметров DB(i)(m)» задает начальные значения при­знаков NS, NP, i1, i2, j1, j2 m-го дискретного объекта по соотношениям

,

,

,

,

.

Процедура «Идентификация » присваивает найденной серии номер m одного из уже сформированных связных под­множеств — в этом случае серия считается идентифицированной. Это присвоение связано с анализом «перекрытий» с сериями . В случае, если «перекрывается» по крайней мере одной из , она идентифицируется по но­меру m подмножества, к которому принадлежит . Если же «перекрывается» несколькими , принадлежащими разным DB(i-1)(m), то осуществляется слияние послед­них с пересчетом значений параметров и уменьшением m. Процедура «Коррекция DB(i)(m)» изменяет значения вычисляемых признаков m-го дискретною объекта на i-м шаге по форму­лам

,

,

,

,

,

,

где ,

, ,

здесь NROW, NPIX — число строк и столбцов матрицы анализируемого изображения соответственно.

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

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