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].