- •Глава 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. Структурные методы
- •Построение реляционные дескриптивных структур на основе разбиения области
- •Алгоритм разбиения многоугольника на выпуклые составляющие
- •Алгоритм построения дерева вогнутостей
- •Алгоритм прослеживания границ для построения дерева связности
- •Построение реляционных дескриптивных структур на основе декомпозиции области через покрытие
Алгоритм подсчета метрических признаков на пирамидах
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 — число строк и столбцов матрицы анализируемого изображения соответственно.
Описанные выше методы и алгоритмы в наилучшей степенен приспособлены для подсчета признаков размера, формы, ориентации и местоположения для выпуклых дискретных объектов. Когда объект имеет сложную невыпуклую форму, можно применить метод декомпозиции, лежащий в основе структурного подхода к описанию.