class Blob – объект Blob#

Объект blob – это attrtuple, возвращаемый методом Image.find_blobs(). Каждый блоб представляет собой связную область пикселей, которая соответствовала одному или нескольким цветовым порогам, переданным в find_blobs(). Объект объединяет в себе ограничивающую рамку блоба, центроид, количество пикселей, периметр, ориентацию, метрики плотности площади, набор сработавших порогов, повёрнутый прямоугольник минимальной площади и опциональные гистограммы проекций X/Y.

Поля доступны по имени атрибута (blob.x) или по индексу (blob[0]). У объекта нет публичного конструктора.

class image.blob#

Чтобы создать этот объект, вызовите Image.find_blobs().

Ограничивающая рамка и центроид#

x#

Координата x верхнего левого угла ограничивающей рамки в пикселях. Целое число. Индекс [0].

y#

Координата y верхнего левого угла ограничивающей рамки в пикселях. Целое число. Индекс [1].

w#

Ширина ограничивающей рамки в пикселях. Целое число. Индекс [2].

h#

Высота ограничивающей рамки в пикселях. Целое число. Индекс [3].

cx#

Координата x центроида (среднее по пикселям блоба), округлённая до целого. Целое число. Индекс [4].

cy#

Координата y центроида (среднее по пикселям блоба), округлённая до целого. Целое число. Индекс [5].

cxf#

Координата x центроида как субпиксельное число с плавающей точкой. Индекс [16].

cyf#

Координата y центроида как субпиксельное число с плавающей точкой. Индекс [17].

rect#

Кортеж из 4 элементов (x, y, w, h) для ограничивающей рамки. Подходит для прямой передачи в методы рисования/обрезки, такие как Image.draw_rectangle() или Image.crop(). Индекс [22].

Дескрипторы формы#

pixels#

Количество пикселей, из которых состоит этот блоб. Целое число. Индекс [6].

area#

Площадь ограничивающей рамки, выровненной по осям (w * h). Целое число. Индекс [19].

density#

pixels / area – доля ограничивающей рамки, заполненная блобом. Число с плавающей точкой в диапазоне 0.0 – 1.0. Сплошной прямоугольник приближается к 1.0; тонкая диагональная линия приближается к 0.0. Индекс [20].

perimeter#

Количество пикселей на внешнем периметре блоба. Целое число. Индекс [10].

roundness#

Отношение малой оси к большой оси блоба, вычисленное по его моментам второго порядка. Число с плавающей точкой в диапазоне 0.0 – 1.0; 1.0 – идеальный круг, 0.0 – линия. Индекс [11].

elongation#

1.0 - roundness – значение в диапазоне 0.0 – 1.0, где 0.0 – идеальный круг, а 1.0 – линия. Индекс [18].

compactness#

(pixels * 4 * pi) / (perimeter * perimeter). У круга наименьший периметр для заданной площади, поэтому эта метрика равна 1.0 для идеального круга и уменьшается по мере того, как блоб становится более неправильным или вытянутым. Число с плавающей точкой. Индекс [21].

rotation#

Ориентация блоба в радианах, вычисленная по его моментам второго порядка. Число с плавающей точкой в диапазоне от 0 до pi (ось симметрична, поэтому направление неоднозначно за пределами pi). Наиболее точна для вытянутых блобов – для почти круглых блобов значение становится зашумлённым. Индекс [7].

Метаданные порога / слияния#

code#

32-битная битовая карта, в которой установлен один бит для каждого цветового порога (переданного в Image.find_blobs()), которому соответствовал этот блоб. При одном пороге code == 1. При объединённых многоцветных блобах (merge=True) может быть установлено более одного бита. Индекс [8].

count#

Количество исходных блобов, объединённых в этот. 1 при merge=False; может быть больше при merge=True. Индекс [9].

Углы#

corners#

Кортеж из 4 целочисленных кортежей (x, y) для четырёх крайних углов блоба, отсортированных по часовой стрелке начиная с верхнего левого угла. Это углы, выведенные из контура (точки на границе блоба, наиболее удалённые от центроида вдоль четырёх диагоналей). Индекс [14].

min_corners#

Кортеж из 4 целочисленных кортежей (x, y) для четырёх углов повёрнутого ограничивающего прямоугольника блоба минимальной площади. В сочетании с rotation они дают вам наиболее плотное прилегание вокруг блоба. Индекс [15].

Гистограммы проекций#

x_hist_bins#

Список целочисленных счётчиков для гистограммы проекции блоба по оси X (столбцы). Заполняется только тогда, когда find_blobs(...) вызывается с x_hist_bins_max > 0; в противном случае пуст. Индекс [12].

y_hist_bins#

Список целочисленных счётчиков для гистограммы проекции блоба по оси Y (строки). Заполняется только тогда, когда find_blobs(...) вызывается с y_hist_bins_max > 0; в противном случае пуст. Индекс [13].