Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие 2011.docx
Скачиваний:
103
Добавлен:
10.12.2018
Размер:
3.14 Mб
Скачать
      1. Построение скелета изображения

Для построения скелета изображения на объекте (отрезке) выбирается начальная (затравочная) точка, от которой начинается распространяться волна, путем добавления пикселей сначала к затравочной точке потом к уже добавленным. Волна генерируется по определенным законам, использующих четырех или восьмисвязанность пикселей.

При 4-х связном растре распространение идет в форме ромба (Рис. 5 .41, а), при 8-связном – в виде квадрата (Рис. 5 .41, б). Если попеременно использовать 4-ч и 8-и связанное распространение то форма волны будет близка к кругу (Рис. 5 .41, в).

При распространении сферической волны на отрезке прямой наблюдаются следующие эффекты: не более чем через 2N шагов распространение волны приобретает устойчивый характер вне зависимости от начальной точки распространения волны (Рисунок 5). Причем N – ширина линии в пикселях.

а)

б)

в)

Рис. 5.41. Формы распространения волн на растровом изображении

а)

б)

Рис. 5.42. Распространение волны на отрезке

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

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

При достижении волной места соединения двух или более отрезков наблюдается разделение волны на несколько дочерних волн, сохраняющих поведение материнской волны (Рис. 5 .43). Момент разделения довольно просто отслеживается путем анализа “ширины” волн, т.е. количества точек образующих очередную генерацию волны: перед разделением наблюдается увеличение “ширины” волны с дальнейшим разделением волны на две (иногда более) дочерние волны.

а)

б)

Рис. 5.43. Распространение волны на соединении и пересечении отрезков

Выявление мест увеличения “ширины” волны и разделения волны на дочерние позволяет установить точку предполагаемого соединения двух отрезков. Определение увеличения “ширины” волны производится путем сравнения “ширины” очередной генерации волны и ее среднего значения за N предыдущих генераций (N задается заранее). Причем мы получаем две крайние точки (A, B) трассируемого отрезка. После разделения волны на две полуволны, мы получаем еще две пары точек (C, D) и (E, F) (например, Рис. 5 .44).

Рис. 5.44. Пример определения точки соединения

С помощью анализа этих отрезков (AB, CD, EF) можно оценить положение точки соединения отрезков. Первоначально установим место соединения как центр масс этого многоугольника.

      1. Оптимизация скелета изображения

Полученный скелет изображения не является оптимальным. Это связано прежде всего с тем, что мы имеем дело с растровым изображением, а значит, изображение имеет искажения тем большие, чем меньше разрешение изображения (Рис. 5 .45).

а)

б)

Рис. 5.45. Влияние разрешения на скелет изображения

Для уменьшения влияния искажений на получаемый скелет необходимо произвести оптимизацию скелета, полученного отслеживанием пути сферической волны по изображению объекта. В получаемом скелете возможно представление одного отрезка некоторой последовательностью ребер. Избиться от этого можно анализом последовательности ребер, оценивая отклонение получающейся линии от прямой. При этом точки, образующие последовательность ребер, должны отклоняться от коррелирующей прямой не больше, чем на заранее заданную величину, соизмеримую с шириной линии. В случае, если отклонение находится в допустимых пределах, необходимо в скелете заменить соответствующую последовательность ребер на одно (Рис. 5 .46).

Рис. 5.46. Оптимизация отрезков

Кроме оптимизации отрезков проводится оптимизация точек соединения отрезков. Наиболее часто встречающиеся искажения (Рис. 5 .47) исправляются с помощью анализа прилежащих к выделенной точке (А) отрезков (AB1, B1C1, AB2, B2C2, AB3, B3C3). Анализ заключается в поиске такой пары отрезков CxBx, ByCy из (B1C1, B2C2, B3C3), что CxBxByCy максимально коррелируются прямой. Тогда необходимо точку A переместить в точку пересечения прямых CxCy и 2, а затем удалить из графа точки B1, B2 и B3.

а)

б)

Рис. 5.47. Оптимизация точек соединения (первый вариант)

Другим вариантом искажения является случай соединения трех отрезков в одной точке (Рис. 5 .48). В этом случае невозможно нахождение пары отрезков коррелируемых прямой. Точка A должна быть перемещена в центр треугольника образуемого прямыми B1C1, B2C2 и B3C3. Затем точки B1, B2 и B3 необходимо удалить из графа.

а)

б)

Рис. 5.48. Оптимизация точек соединения (второй вариант)