class Blob – Blob-Objekt

Das Blob-Objekt ist ein von Image.find_blobs() zurückgegebenes attrtuple. Jeder Blob stellt eine zusammenhängende Region von Pixeln dar, die einem oder mehreren der an find_blobs() übergebenen Farbschwellenwerte entsprach. Das Objekt fasst den Begrenzungsrahmen des Blobs, den Schwerpunkt, die Pixelanzahl, den Umfang, die Ausrichtung, Metriken zur Flächendichte, die Menge der zutreffenden Schwellenwerte, das gedrehte Rechteck mit minimaler Fläche sowie optionale X/Y-Projektionshistogramme zusammen.

Auf die Felder kann über den Attributnamen (blob.x) oder über den Index (blob[0]) zugegriffen werden. Das Objekt hat keinen öffentlichen Konstruktor.

class image.blob

Bitte rufen Sie Image.find_blobs() auf, um dieses Objekt zu erstellen.

Begrenzungsrahmen und Schwerpunkt

x

X-Koordinate der oberen linken Ecke des Begrenzungsrahmens, in Pixel. Ganzzahl. Index [0].

y

Y-Koordinate der oberen linken Ecke des Begrenzungsrahmens, in Pixel. Ganzzahl. Index [1].

w

Breite des Begrenzungsrahmens, in Pixel. Ganzzahl. Index [2].

h

Höhe des Begrenzungsrahmens, in Pixel. Ganzzahl. Index [3].

cx

X-Koordinate des Schwerpunkts (Pixel-Mittelwert des Blobs), auf eine Ganzzahl gerundet. Ganzzahl. Index [4].

cy

Y-Koordinate des Schwerpunkts (Pixel-Mittelwert des Blobs), auf eine Ganzzahl gerundet. Ganzzahl. Index [5].

cxf

X-Koordinate des Schwerpunkts als Subpixel-Gleitkommazahl. Index [16].

cyf

Y-Koordinate des Schwerpunkts als Subpixel-Gleitkommazahl. Index [17].

rect

(x, y, w, h)-4-Tupel des Begrenzungsrahmens. Geeignet zur direkten Übergabe an Zeichen-/Zuschneidemethoden wie Image.draw_rectangle() oder Image.crop(). Index [22].

Formdeskriptoren

pixels

Anzahl der Pixel, aus denen dieser Blob besteht. Ganzzahl. Index [6].

area

Fläche des achsenausgerichteten Begrenzungsrahmens (w * h). Ganzzahl. Index [19].

density

pixels / area – der Anteil des Begrenzungsrahmens, der vom Blob ausgefüllt wird. Gleitkommazahl im Bereich 0.0 – 1.0. Ein vollflächiges Rechteck nähert sich 1.0; eine dünne diagonale Linie nähert sich 0.0. Index [20].

perimeter

Anzahl der Pixel auf dem äußeren Umfang des Blobs. Ganzzahl. Index [10].

roundness

Verhältnis der Nebenachse zur Hauptachse des Blobs, berechnet aus seinen Momenten zweiter Ordnung. Gleitkommazahl im Bereich 0.0 – 1.0; 1.0 ist ein perfekter Kreis, 0.0 ist eine Linie. Index [11].

elongation

1.0 - roundness – ein Wert im Bereich 0.0 – 1.0, wobei 0.0 ein perfekter Kreis und 1.0 eine Linie ist. Index [18].

compactness

(pixels * 4 * pi) / (perimeter * perimeter). Ein Kreis hat den kleinsten Umfang für eine gegebene Fläche, daher beträgt diese Metrik 1.0 für einen perfekten Kreis und sinkt, je unregelmäßiger oder länglicher der Blob wird. Gleitkommazahl. Index [21].

rotation

Ausrichtung des Blobs in Radiant, abgeleitet aus seinen Momenten zweiter Ordnung. Gleitkommazahl im Bereich 0 bis pi (die Achse ist symmetrisch, daher ist die Richtung jenseits von pi mehrdeutig). Am genauesten für längliche Blobs – für nahezu runde Blobs wird der Wert verrauscht. Index [7].

Schwellenwert-/Zusammenführungs-Metadaten

code

32-Bit-Bitmap mit einem gesetzten Bit für jeden Farbschwellenwert (wie an Image.find_blobs() übergeben), dem dieser Blob entsprach. Bei einem einzelnen Schwellenwert gilt code == 1. Bei zusammengeführten mehrfarbigen Blobs (merge=True) kann mehr als ein Bit gesetzt sein. Index [8].

count

Anzahl der Quell-Blobs, die zu diesem zusammengeführt wurden. 1, wenn merge=False; kann größer sein, wenn merge=True. Index [9].

Ecken

corners

4-Tupel aus ganzzahligen (x, y)-Tupeln für die vier äußersten Ecken des Blobs, im Uhrzeigersinn sortiert beginnend bei der oberen linken Ecke. Dies sind die aus der Kontur abgeleiteten Ecken (die Punkte auf der Blob-Grenze, die entlang von vier Diagonalen am weitesten vom Schwerpunkt entfernt sind). Index [14].

min_corners

4-Tupel aus ganzzahligen (x, y)-Tupeln für die vier Ecken des gedrehten Begrenzungsrechtecks des Blobs mit minimaler Fläche. In Kombination mit rotation ergeben diese die engstmögliche Umschließung des Blobs. Index [15].

Projektionshistogramme

x_hist_bins

Liste von ganzzahligen Zählwerten für das Projektionshistogramm der X-Achse (Spalten) des Blobs. Nur gefüllt, wenn find_blobs(...) mit x_hist_bins_max > 0 aufgerufen wird; andernfalls leer. Index [12].

y_hist_bins

Liste von ganzzahligen Zählwerten für das Projektionshistogramm der Y-Achse (Zeilen) des Blobs. Nur gefüllt, wenn find_blobs(...) mit y_hist_bins_max > 0 aufgerufen wird; andernfalls leer. Index [13].