class Blob – objeto Blob

El objeto blob es un attrtuple devuelto por Image.find_blobs(). Cada blob representa una región conectada de píxeles que coincidió con uno o más de los umbrales de color pasados a find_blobs(). El objeto agrupa el cuadro delimitador del blob, el centroide, el recuento de píxeles, el perímetro, la orientación, las métricas de densidad de área, el conjunto de umbrales que coincidieron con él, el rectángulo rotado de área mínima y, opcionalmente, los histogramas de proyección X/Y.

Los campos son accesibles por nombre de atributo (blob.x) o por índice (blob[0]). El objeto no tiene constructor público.

class image.blob

Llama a Image.find_blobs() para crear este objeto.

Cuadro delimitador y centroide

x

Coordenada x de la esquina superior izquierda del cuadro delimitador, en píxeles. Entero. Índice [0].

y

Coordenada y de la esquina superior izquierda del cuadro delimitador, en píxeles. Entero. Índice [1].

w

Ancho del cuadro delimitador, en píxeles. Entero. Índice [2].

h

Alto del cuadro delimitador, en píxeles. Entero. Índice [3].

cx

Coordenada x del centroide (media de los píxeles del blob), redondeada a entero. Entero. Índice [4].

cy

Coordenada y del centroide (media de los píxeles del blob), redondeada a entero. Entero. Índice [5].

cxf

Coordenada x del centroide como flotante de subpíxel. Índice [16].

cyf

Coordenada y del centroide como flotante de subpíxel. Índice [17].

rect

Tupla de 4 elementos (x, y, w, h) del cuadro delimitador. Adecuada para pasarla directamente a métodos de dibujo o recorte como Image.draw_rectangle() o Image.crop(). Índice [22].

Descriptores de forma

pixels

Número de píxeles que componen este blob. Entero. Índice [6].

area

Área del cuadro delimitador alineado con los ejes (w * h). Entero. Índice [19].

density

pixels / area – la fracción del cuadro delimitador ocupada por el blob. Flotante en el rango 0.0 – 1.0. Un rectángulo sólido se aproxima a 1.0; una línea diagonal fina se aproxima a 0.0. Índice [20].

perimeter

Número de píxeles en el perímetro exterior del blob. Entero. Índice [10].

roundness

Relación entre el eje menor y el eje mayor del blob, calculada a partir de sus momentos de segundo orden. Flotante en el rango 0.0 – 1.0; 1.0 es un círculo perfecto, 0.0 es una línea. Índice [11].

elongation

1.0 - roundness – un valor en el rango 0.0 – 1.0 donde 0.0 es un círculo perfecto y 1.0 es una línea. Índice [18].

compactness

(pixels * 4 * pi) / (perimeter * perimeter). Un círculo tiene el perímetro más pequeño para un área dada, por lo que esta métrica es 1.0 para un círculo perfecto y disminuye a medida que el blob se vuelve más irregular o alargado. Flotante. Índice [21].

rotation

Orientación del blob en radianes, derivada de sus momentos de segundo orden. Flotante en el rango de 0 a pi (el eje es simétrico, por lo que la dirección es ambigua más allá de pi). Más precisa para blobs alargados: para blobs casi redondos el valor se vuelve ruidoso. Índice [7].

Metadatos de umbral / fusión

code

Mapa de bits de 32 bits con un bit activado por cada umbral de color (tal como se pasó a Image.find_blobs()) con el que coincidió este blob. Con un solo umbral, code == 1. Con blobs multicolor fusionados (merge=True) puede haber más de un bit activado. Índice [8].

count

Número de blobs de origen fusionados en este. 1 cuando merge=False; puede ser mayor cuando merge=True. Índice [9].

Esquinas

corners

Tupla de 4 elementos de tuplas de enteros (x, y) para las cuatro esquinas extremas del blob, ordenadas en sentido horario empezando por la esquina superior izquierda. Estas son las esquinas derivadas del contorno (los puntos del borde del blob más alejados del centroide a lo largo de cuatro diagonales). Índice [14].

min_corners

Tupla de 4 elementos de tuplas de enteros (x, y) para las cuatro esquinas del rectángulo delimitador rotado de área mínima del blob. Combinadas con rotation proporcionan el ajuste más ceñido alrededor del blob. Índice [15].

Histogramas de proyección

x_hist_bins

Lista de recuentos enteros para el histograma de proyección sobre el eje X (columna) del blob. Solo se rellena cuando find_blobs(...) se llama con x_hist_bins_max > 0; de lo contrario está vacía. Índice [12].

y_hist_bins

Lista de recuentos enteros para el histograma de proyección sobre el eje Y (fila) del blob. Solo se rellena cuando find_blobs(...) se llama con y_hist_bins_max > 0; de lo contrario está vacía. Índice [13].