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].