Рис. 15. Пример разметки связных областей:
а
— исходное изображение;
б
— размеченное изображение
3. Последовательное сканирование исходного изображения, начи-
ная от верхнего левого угла.
4. Очередной, еще не обработанный пиксель со значением 1 отно-
сится к текущему объекту, в соответствующую ячейку изображения
J
записывается номер текущего объекта, координаты пикселя записыва-
ются в специальный массив координат.
5. Запуск процедурыпоиска всех соседей этого пикселя.
6. Все найденные соседи помечаются в изображении
J
номером
текущего объекта, координатысоседей записываются в массив коор-
динат.
7. Запуск цикла по массиву координат, поиск соседей для каждой
точки и опять запись в конец массива координат.
8. Цикл заканчивается после того, как у всех точек из массива
координат найденывсе соседи.
9. После этого к номеру текущего объекта прибавляется единица и
повторяются шаги с четвертого по девятый, пока все изображение не
будет просканировано.
Время обработки рассматриваемых изображений с помощью этого
алгоритма составляет единицысекунд.
Работа алгоритма была проверена на смоделированном изображе-
нии. На рис. 15,
а
приведено исходное изображение. Результат “раз-
метки” этого изображения приведен на рис. 15,
б
, где каждая из шести
распознанных областей отмечена своим оттенком серого света.
После разметки связных областей получается изображение, где
пиксели фона имеют значение 0, а пиксели объектов имеют значения,
соответствующее условному номеру объекта. Дальнейшая обработка
состоит в получении характеристик объектов таких, как ширина, дли-
на; площадь
А
; периметр
Р
; компактность
С
— отношение квадрата
периметра к площади.
Наиболее компактная фигура — круг, для которого отношение ква-
драта периметра к площади является минимальным
C
=
P
2
A
=
(2
πr
)
2
πr
2
= 4
π,
где
r
— радиус.
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2008. № 2 99