клас 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].