class Blob – objekt Blob

Objekt blob je attrtuple vracený funkcí Image.find_blobs(). Každý blob představuje souvislou oblast pixelů, která odpovídá jednomu nebo více barevným prahům předaným funkci find_blobs(). Objekt sdružuje ohraničující rámeček blobu, těžiště, počet pixelů, obvod, orientaci, metriky hustoty plochy, sadu prahů, které jej zasáhly, otočený obdélník s minimální plochou a volitelné projekční histogramy X/Y.

Pole jsou přístupná podle názvu atributu (blob.x) nebo podle indexu (blob[0]). Objekt nemá veřejný konstruktor.

class image.blob

Pro vytvoření tohoto objektu zavolejte Image.find_blobs().

Ohraničující rámeček a těžiště

x

Souřadnice x levého horního rohu ohraničujícího rámečku, v pixelech. Celé číslo. Index [0].

y

Souřadnice y levého horního rohu ohraničujícího rámečku, v pixelech. Celé číslo. Index [1].

w

Šířka ohraničujícího rámečku, v pixelech. Celé číslo. Index [2].

h

Výška ohraničujícího rámečku, v pixelech. Celé číslo. Index [3].

cx

Souřadnice x těžiště (pixelový průměr blobu), zaokrouhlená na celé číslo. Celé číslo. Index [4].

cy

Souřadnice y těžiště (pixelový průměr blobu), zaokrouhlená na celé číslo. Celé číslo. Index [5].

cxf

Souřadnice x těžiště jako subpixelové číslo s plovoucí desetinnou čárkou. Index [16].

cyf

Souřadnice y těžiště jako subpixelové číslo s plovoucí desetinnou čárkou. Index [17].

rect

4-tice (x, y, w, h) ohraničujícího rámečku. Vhodná pro přímé předání kreslicím/ořezovým metodám, jako jsou Image.draw_rectangle() nebo Image.crop(). Index [22].

Deskriptory tvaru

pixels

Počet pixelů, které tvoří tento blob. Celé číslo. Index [6].

area

Plocha osově zarovnaného ohraničujícího rámečku (w * h). Celé číslo. Index [19].

density

pixels / area – podíl ohraničujícího rámečku vyplněný blobem. Číslo s plovoucí desetinnou čárkou v rozsahu 0.0 – 1.0. Plný obdélník se blíží 1.0; tenká diagonální čára se blíží 0.0. Index [20].

perimeter

Počet pixelů na vnějším obvodu blobu. Celé číslo. Index [10].

roundness

Poměr vedlejší osy k hlavní ose blobu, vypočtený z jeho momentů druhého řádu. Číslo s plovoucí desetinnou čárkou v rozsahu 0.0 – 1.0; 1.0 je dokonalý kruh, 0.0 je čára. Index [11].

elongation

1.0 - roundness – hodnota v rozsahu 0.0 – 1.0, kde 0.0 je dokonalý kruh a 1.0 je čára. Index [18].

compactness

(pixels * 4 * pi) / (perimeter * perimeter). Kruh má pro danou plochu nejmenší obvod, takže tato metrika je 1.0 pro dokonalý kruh a klesá, jak se blob stává nepravidelnějším nebo protáhlejším. Číslo s plovoucí desetinnou čárkou. Index [21].

rotation

Orientace blobu v radiánech, odvozená z jeho momentů druhého řádu. Číslo s plovoucí desetinnou čárkou v rozsahu 0 až pi (osa je symetrická, takže směr je za hodnotou pi nejednoznačný). Nejpřesnější pro protáhlé bloby – u téměř kruhových blobů se hodnota stává zašuměnou. Index [7].

Metadata prahu / sloučení

code

32bitová bitmapa s jedním nastaveným bitem pro každý barevný práh (předaný funkci Image.find_blobs()), kterému tento blob odpovídal. S jedním prahem platí code == 1. U sloučených vícebarevných blobů (merge=True) může být nastaveno více než jeden bit. Index [8].

count

Počet zdrojových blobů sloučených do tohoto. 1 při merge=False; může být větší při merge=True. Index [9].

Rohy

corners

4-tice celočíselných n-tic (x, y) pro čtyři krajní rohy blobu, seřazené po směru hodinových ručiček počínaje levým horním rohem. Jde o rohy odvozené z kontury (body na hranici blobu nejvzdálenější od těžiště podél čtyř diagonál). Index [14].

min_corners

4-tice celočíselných n-tic (x, y) pro čtyři rohy otočeného ohraničujícího obdélníku blobu s minimální plochou. V kombinaci s rotation poskytují nejtěsnější obrys kolem blobu. Index [15].

Projekční histogramy

x_hist_bins

Seznam celočíselných počtů pro projekční histogram blobu na ose X (sloupce). Vyplněn pouze tehdy, když je find_blobs(...) voláno s x_hist_bins_max > 0; jinak prázdný. Index [12].

y_hist_bins

Seznam celočíselných počtů pro projekční histogram blobu na ose Y (řádky). Vyplněn pouze tehdy, když je find_blobs(...) voláno s y_hist_bins_max > 0; jinak prázdný. Index [13].