class Blob – Blob-object

Het blob-object is een attrtuple die door Image.find_blobs() wordt teruggegeven. Elke blob vertegenwoordigt een samenhangend gebied van pixels die voldeden aan een of meer van de kleurdrempelwaarden die aan find_blobs() zijn doorgegeven. Het object bundelt het begrenzingsvak, het zwaartepunt, het aantal pixels, de omtrek, de oriëntatie, oppervlaktedichtheidsmetrieken, de set drempelwaarden die het raakten, de geroteerde rechthoek met minimale oppervlakte en optionele X/Y-projectiehistogrammen van de blob.

Velden zijn toegankelijk via de attribuutnaam (blob.x) of via een index (blob[0]). Het object heeft geen openbare constructor.

class image.blob

Roep Image.find_blobs() aan om dit object te maken.

Begrenzingsvak en zwaartepunt

x

x-coördinaat van de linkerbovenhoek van het begrenzingsvak, in pixels. Geheel getal. Index [0].

y

y-coördinaat van de linkerbovenhoek van het begrenzingsvak, in pixels. Geheel getal. Index [1].

w

Breedte van het begrenzingsvak, in pixels. Geheel getal. Index [2].

h

Hoogte van het begrenzingsvak, in pixels. Geheel getal. Index [3].

cx

x-coördinaat van het zwaartepunt (pixelgemiddelde van de blob), afgerond op een geheel getal. Geheel getal. Index [4].

cy

y-coördinaat van het zwaartepunt (pixelgemiddelde van de blob), afgerond op een geheel getal. Geheel getal. Index [5].

cxf

x-coördinaat van het zwaartepunt als subpixel-float. Index [16].

cyf

y-coördinaat van het zwaartepunt als subpixel-float. Index [17].

rect

(x, y, w, h) 4-tuple van het begrenzingsvak. Geschikt om rechtstreeks door te geven aan teken-/bijsnijdmethoden zoals Image.draw_rectangle() of Image.crop(). Index [22].

Vormdescriptoren

pixels

Aantal pixels waaruit deze blob bestaat. Geheel getal. Index [6].

area

Oppervlakte van het asgericht begrenzingsvak (w * h). Geheel getal. Index [19].

density

pixels / area – het deel van het begrenzingsvak dat door de blob wordt gevuld. Float in het bereik 0.0 – 1.0. Een volledige rechthoek nadert 1.0; een dunne diagonale lijn nadert 0.0. Index [20].

perimeter

Aantal pixels op de buitenomtrek van de blob. Geheel getal. Index [10].

roundness

Verhouding van de korte as tot de lange as van de blob, berekend uit de tweede-orde momenten. Float in het bereik 0.0 – 1.0; 1.0 is een perfecte cirkel, 0.0 is een lijn. Index [11].

elongation

1.0 - roundness – een waarde in het bereik 0.0 – 1.0 waarbij 0.0 een perfecte cirkel is en 1.0 een lijn. Index [18].

compactness

(pixels * 4 * pi) / (perimeter * perimeter). Een cirkel heeft de kleinste omtrek voor een gegeven oppervlakte, dus deze metriek is 1.0 voor een perfecte cirkel en daalt naarmate de blob onregelmatiger of langwerpiger wordt. Float. Index [21].

rotation

Oriëntatie van de blob in radialen, afgeleid uit de tweede-orde momenten. Float in het bereik 0 tot pi (de as is symmetrisch, dus de richting is dubbelzinnig voorbij pi). Het meest nauwkeurig voor langwerpige blobs – voor bijna ronde blobs wordt de waarde ruizig. Index [7].

Drempelwaarde-/samenvoegmetadata

code

32-bits bitmap met één bit gezet voor elke kleurdrempelwaarde (zoals doorgegeven aan Image.find_blobs()) waaraan deze blob voldeed. Met één drempelwaarde geldt code == 1. Bij samengevoegde meerkleurige blobs (merge=True) kan meer dan één bit gezet zijn. Index [8].

count

Aantal bronblobs dat in deze blob is samengevoegd. 1 wanneer merge=False; kan groter zijn wanneer merge=True. Index [9].

Hoeken

corners

4-tuple van (x, y) integer-tuples voor de vier uiterste hoeken van de blob, met de klok mee gesorteerd vanaf de linkerbovenhoek. Dit zijn de uit de contour afgeleide hoeken (de punten op de blobrand die het verst van het zwaartepunt liggen langs vier diagonalen). Index [14].

min_corners

4-tuple van (x, y) integer-tuples voor de vier hoeken van de geroteerde begrenzingsrechthoek met minimale oppervlakte van de blob. Gecombineerd met rotation geven deze je de nauwst sluitende vorm rond de blob. Index [15].

Projectiehistogrammen

x_hist_bins

Lijst van gehele tellingen voor het projectiehistogram langs de X-as (kolom) van de blob. Alleen gevuld wanneer find_blobs(...) wordt aangeroepen met x_hist_bins_max > 0; anders leeg. Index [12].

y_hist_bins

Lijst van gehele tellingen voor het projectiehistogram langs de Y-as (rij) van de blob. Alleen gevuld wanneer find_blobs(...) wordt aangeroepen met y_hist_bins_max > 0; anders leeg. Index [13].