class Blob – obiekt Blob#
Obiekt blob to attrtuple zwracany przez Image.find_blobs(). Każda plama (blob) reprezentuje spójny obszar pikseli, który dopasował się do jednego lub więcej progów koloru przekazanych do find_blobs(). Obiekt pakuje razem ramkę ograniczającą plamy, jej centroid, liczbę pikseli, obwód, orientację, metryki gęstości pola, zbiór progów które ją trafiły, obrócony prostokąt o minimalnym polu oraz opcjonalne histogramy projekcji X/Y.
Pola są dostępne po nazwie atrybutu (blob.x) lub po indeksie (blob[0]). Obiekt nie ma publicznego konstruktora.
- class image.blob#
Aby utworzyć ten obiekt, wywołaj
Image.find_blobs().Ramka ograniczająca i centroid#
- x#
Współrzędna x lewego górnego rogu ramki ograniczającej, w pikselach. Liczba całkowita. Indeks
[0].
- y#
Współrzędna y lewego górnego rogu ramki ograniczającej, w pikselach. Liczba całkowita. Indeks
[1].
- w#
Szerokość ramki ograniczającej, w pikselach. Liczba całkowita. Indeks
[2].
- h#
Wysokość ramki ograniczającej, w pikselach. Liczba całkowita. Indeks
[3].
- cx#
Współrzędna x centroidu (średnia pikseli plamy), zaokrąglona do liczby całkowitej. Liczba całkowita. Indeks
[4].
- cy#
Współrzędna y centroidu (średnia pikseli plamy), zaokrąglona do liczby całkowitej. Liczba całkowita. Indeks
[5].
- cxf#
Współrzędna x centroidu jako subpikselowa liczba zmiennoprzecinkowa. Indeks
[16].
- cyf#
Współrzędna y centroidu jako subpikselowa liczba zmiennoprzecinkowa. Indeks
[17].
- rect#
4-elementowa krotka
(x, y, w, h)ramki ograniczającej. Nadaje się do bezpośredniego przekazania do metod rysowania/przycinania, takich jakImage.draw_rectangle()lubImage.crop(). Indeks[22].
Deskryptory kształtu#
- pixels#
Liczba pikseli tworzących tę plamę. Liczba całkowita. Indeks
[6].
- area#
Pole ramki ograniczającej wyrównanej do osi (
w * h). Liczba całkowita. Indeks[19].
- density#
pixels / area– ułamek ramki ograniczającej wypełniony przez plamę. Liczba zmiennoprzecinkowa w zakresie 0.0 – 1.0. Pełny prostokąt zbliża się do1.0; cienka przekątna linia zbliża się do0.0. Indeks[20].
- perimeter#
Liczba pikseli na zewnętrznym obwodzie plamy. Liczba całkowita. Indeks
[10].
- roundness#
Stosunek osi mniejszej do osi większej plamy, obliczony z jej momentów drugiego rzędu. Liczba zmiennoprzecinkowa w zakresie 0.0 – 1.0;
1.0to idealne koło,0.0to linia. Indeks[11].
- elongation#
1.0 - roundness– wartość w zakresie 0.0 – 1.0, gdzie0.0to idealne koło, a1.0to linia. Indeks[18].
- compactness#
(pixels * 4 * pi) / (perimeter * perimeter). Koło ma najmniejszy obwód dla danego pola, więc ta metryka wynosi1.0dla idealnego koła i maleje, gdy plama staje się bardziej nieregularna lub wydłużona. Liczba zmiennoprzecinkowa. Indeks[21].
- rotation#
Orientacja plamy w radianach, wyprowadzona z jej momentów drugiego rzędu. Liczba zmiennoprzecinkowa w zakresie od 0 do pi (oś jest symetryczna, więc kierunek jest niejednoznaczny powyżej pi). Najdokładniejsza dla wydłużonych plam – dla niemal okrągłych plam wartość staje się zaszumiona. Indeks
[7].
Metadane progów / scalania#
- code#
32-bitowa mapa bitowa z jednym bitem ustawionym dla każdego progu koloru (przekazanego do
Image.find_blobs()), który ta plama dopasowała. Przy jednym progucode == 1. Przy scalonych wielokolorowych plamach (merge=True) może być ustawiony więcej niż jeden bit. Indeks[8].
- count#
Liczba źródłowych plam scalonych w tę jedną.
1gdymerge=False; może być większa gdymerge=True. Indeks[9].
Narożniki#
- corners#
4-elementowa krotka krotek całkowitych
(x, y)dla czterech skrajnych narożników plamy, posortowanych zgodnie z ruchem wskazówek zegara, zaczynając od lewego górnego rogu. Są to narożniki wyprowadzone z konturu (punkty na granicy plamy najbardziej oddalone od centroidu wzdłuż czterech przekątnych). Indeks[14].
- min_corners#
4-elementowa krotka krotek całkowitych
(x, y)dla czterech narożników obróconego prostokąta ograniczającego plamę o minimalnym polu. W połączeniu zrotationdają najściślejsze dopasowanie wokół plamy. Indeks[15].
Histogramy projekcji#
- x_hist_bins#
Lista liczb całkowitych dla histogramu projekcji plamy na oś X (kolumny). Wypełniana tylko gdy
find_blobs(...)jest wywoływane zx_hist_bins_max> 0; w przeciwnym razie pusta. Indeks[12].
- y_hist_bins#
Lista liczb całkowitych dla histogramu projekcji plamy na oś Y (wiersze). Wypełniana tylko gdy
find_blobs(...)jest wywoływane zy_hist_bins_max> 0; w przeciwnym razie pusta. Indeks[13].