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