class Blob – objet Blob

L’objet blob est un attrtuple renvoyé par Image.find_blobs(). Chaque blob représente une région connexe de pixels qui correspondait à un ou plusieurs des seuils de couleur passés à find_blobs(). L’objet regroupe la boîte englobante du blob, son centroïde, le nombre de pixels, le périmètre, l’orientation, des métriques de densité de surface, l’ensemble des seuils qui l’ont touché, le rectangle pivoté d’aire minimale et des histogrammes de projection X/Y optionnels.

Les champs sont accessibles par nom d’attribut (blob.x) ou par index (blob[0]). L’objet n’a pas de constructeur public.

class image.blob

Veuillez appeler Image.find_blobs() pour créer cet objet.

Boîte englobante et centroïde

x

Coordonnée x du coin supérieur gauche de la boîte englobante, en pixels. Entier. Index [0].

y

Coordonnée y du coin supérieur gauche de la boîte englobante, en pixels. Entier. Index [1].

w

Largeur de la boîte englobante, en pixels. Entier. Index [2].

h

Hauteur de la boîte englobante, en pixels. Entier. Index [3].

cx

Coordonnée x du centroïde (moyenne des pixels du blob), arrondie à l’entier. Entier. Index [4].

cy

Coordonnée y du centroïde (moyenne des pixels du blob), arrondie à l’entier. Entier. Index [5].

cxf

Coordonnée x du centroïde sous forme de flottant sous-pixel. Index [16].

cyf

Coordonnée y du centroïde sous forme de flottant sous-pixel. Index [17].

rect

Quadruplet (x, y, w, h) de la boîte englobante. Adapté pour être passé directement aux méthodes de dessin/rognage telles que Image.draw_rectangle() ou Image.crop(). Index [22].

Descripteurs de forme

pixels

Nombre de pixels qui composent ce blob. Entier. Index [6].

area

Aire de la boîte englobante alignée sur les axes (w * h). Entier. Index [19].

density

pixels / area – la fraction de la boîte englobante remplie par le blob. Flottant dans la plage 0.0 – 1.0. Un rectangle plein s’approche de 1.0 ; une ligne diagonale fine s’approche de 0.0. Index [20].

perimeter

Nombre de pixels sur le périmètre extérieur du blob. Entier. Index [10].

roundness

Rapport entre le petit axe et le grand axe du blob, calculé à partir de ses moments d’ordre deux. Flottant dans la plage 0.0 – 1.0 ; 1.0 est un cercle parfait, 0.0 est une ligne. Index [11].

elongation

1.0 - roundness – une valeur dans la plage 0.0 – 1.0 où 0.0 est un cercle parfait et 1.0 une ligne. Index [18].

compactness

(pixels * 4 * pi) / (perimeter * perimeter). Un cercle a le plus petit périmètre pour une aire donnée, donc cette métrique vaut 1.0 pour un cercle parfait et diminue à mesure que le blob devient plus irrégulier ou allongé. Flottant. Index [21].

rotation

Orientation du blob en radians, dérivée de ses moments d’ordre deux. Flottant dans la plage 0 à pi (l’axe est symétrique, donc la direction est ambiguë au-delà de pi). Plus précise pour les blobs allongés – pour les blobs presque ronds, la valeur devient bruitée. Index [7].

Métadonnées de seuil / de fusion

code

Bitmap de 32 bits avec un bit positionné pour chaque seuil de couleur (tel que passé à Image.find_blobs()) que ce blob a satisfait. Avec un seul seuil, code == 1. Avec des blobs multicolores fusionnés (merge=True), plusieurs bits peuvent être positionnés. Index [8].

count

Nombre de blobs sources fusionnés en celui-ci. 1 lorsque merge=False ; peut être plus grand lorsque merge=True. Index [9].

Coins

corners

Quadruplet de tuples d’entiers (x, y) pour les quatre coins extrêmes du blob, triés dans le sens horaire à partir du coin supérieur gauche. Ce sont les coins dérivés du contour (les points de la frontière du blob les plus éloignés du centroïde le long de quatre diagonales). Index [14].

min_corners

Quadruplet de tuples d’entiers (x, y) pour les quatre coins du rectangle englobant pivoté d’aire minimale du blob. Combinés à rotation, ils donnent l’ajustement le plus serré autour du blob. Index [15].

Histogrammes de projection

x_hist_bins

Liste de comptes entiers pour l’histogramme de projection sur l’axe X (colonnes) du blob. Renseignée uniquement lorsque find_blobs(...) est appelé avec x_hist_bins_max > 0 ; sinon vide. Index [12].

y_hist_bins

Liste de comptes entiers pour l’histogramme de projection sur l’axe Y (lignes) du blob. Renseignée uniquement lorsque find_blobs(...) est appelé avec y_hist_bins_max > 0 ; sinon vide. Index [13].