Анализ контуров бинаризованых изображений.
В данной работе предлагается рассматривать (рассматриваются) геометрические характеристики контуров. К ним относятся центр тяжести, координаты описывающего прямоугольника и периметр. В учебном пособии «Компьютерная обработка и распознавание изображений» [8] предлагается обозначать множество единичных отсчетов g(x,y) с координатами (x,y), принадлежащих контуру A как:
Дальше координаты левого верхнего и правого нижнего углов, описывающих область, описываются как (Xmin,Ymin) и (Xmax,Ymax) соответственно, откуда выражается площадь:
Центр
тяжести задается координатами
,
которые являются средним значением
всех координат, принадлежащих области:
Если число граничных отсчетов контура равно N, то периметр есть сумма расстояний между соседними граничными точками:
(1)
Как одну из характеристик формы используют свойство протяженности (в работе «Компьютерная обработка и распознавание изображений»[8] используется термин «коэффициент формы»), определяемое как отношение квадрата периметра к площади:
Также в данной работе для оценки округлости предлагается использовать коэффициент
Где
– среднее значение расстояний от центра
тяжести области до граничных отсчетов,
а
– СКО этих расстояний
,
Где
– расстояние от i-го
граничного отсчета до центра тяжести
контура, определяемое в (1).
Надо отметить, что целью работы является не детальный контурный анализ изображения, а сам процесс сегментации изображения. В работе Я. А. Фурмана [1] рассказывается о корреляционных и статистических методах (описываются корреляционные и статистические методы), на описание и разработку которых ушло (уходит) большое количество ресурсов, в то время как геометрические методы дают более простой и наглядный результат.
В данной работе реализован алгоритм, пробегающий по массиву черно-белых пикселей. Алгоритм попиксельно проходит сверху вниз, до появления разницы в цвете пикселей, после чего начинает обходить контур против часовой стрелки. После обведения контура алгоритм продолжает идти вперед, выделяя внутренние контуры. В итоге каждому пикселю изображения присваивается номер, соответствующий номеру контура, к внутренней части которого принадлежит пиксель. Если пиксель не принадлежит внутренней части, то ему присваивается нулевой номер. Контур, отделяющий черное пятно внутри белой области, будет называться внешним, в противоположном случае контур будет распознаваться как внутренний. Если контур лежит непосредственно внутри внешнего, то он будет внутренним, и наоборот, контур, непосредственно лежащий внутри внутреннего, будет внешним.
Для каждого контура вычисляются минимальные и максимальные значения горизонтальной и вертикальной координаты (Xmin,Ymin) и (Xmax,Ymax) горизонтальный и вертикальный размер, как разность между максимальным и минимальным значением горизонтальной и вертикальной координаты соответственно; горизонтальная и вертикальная координата центра тяжести; а также периметр, площадь и угол направления главной оси инерции, описываемой контуром (рис 6)
Рис 6 Выделение контуров бинаризованого изображения.
Как некоторая сравнительная характеристика, написана функция contourAnalisys. На вход принимается бинаризованый одномерный массив пикселей, ширина изображения, а также шаг по ширине и высоте, разделяющий каждый сегмент и высчитывающий угол направления главной оси инерции в каждом контуре, попадающем в данный сегмент, после чего высчитывается среднее арифметическое всех углов для отдельно взятого сегмента[5]. Таким образом, имеется возможность сравнивать участки изображения и находить сегменты со схожими контурами, после чего можно строить гипотезы об однородности текстуры.
