class Blob – objeto Blob¶
O objeto blob é um attrtuple devolvido por Image.find_blobs(). Cada mancha representa uma região contígua de pixéis que correspondeu a um ou mais dos limiares de cor passados a find_blobs(). O objeto agrupa a caixa delimitadora da mancha, centroide, contagem de pixéis, perímetro, orientação, métricas de densidade de área, o conjunto de limiares que a detetaram, o retângulo rotacionado de área mínima e histogramas de projeção X/Y opcionais.
Os campos são acessíveis pelo nome do atributo (blob.x) ou por índice (blob[0]). O objeto não tem construtor público.
- class image.blob¶
Utilize
Image.find_blobs()para criar este objeto.Caixa delimitadora e centroide¶
- x¶
Coordenada x do canto superior esquerdo da caixa delimitadora, em pixéis. Inteiro. Índice
[0].
- y¶
Coordenada y do canto superior esquerdo da caixa delimitadora, em pixéis. Inteiro. Índice
[1].
- w¶
Largura da caixa delimitadora, em pixéis. Inteiro. Índice
[2].
- h¶
Altura da caixa delimitadora, em pixéis. Inteiro. Índice
[3].
- cx¶
Coordenada x do centroide (média de pixéis da mancha), arredondada para inteiro. Inteiro. Índice
[4].
- cy¶
Coordenada y do centroide (média de pixéis da mancha), arredondada para inteiro. Inteiro. Índice
[5].
- cxf¶
Coordenada x do centroide como float sub-pixel. Índice
[16].
- cyf¶
Coordenada y do centroide como float sub-pixel. Índice
[17].
- rect¶
4-tuplo
(x, y, w, h)da caixa delimitadora. Adequado para passar diretamente a métodos de desenho/recorte comoImage.draw_rectangle()ouImage.crop(). Índice[22].
Descritores de forma¶
- pixels¶
Número de pixéis que compõem esta mancha. Inteiro. Índice
[6].
- area¶
Área da caixa delimitadora alinhada com os eixos (
w * h). Inteiro. Índice[19].
- density¶
pixels / area– a fração da caixa delimitadora preenchida pela mancha. Float no intervalo 0.0 – 1.0. Um retângulo sólido aproxima-se de1.0; uma linha diagonal fina aproxima-se de0.0. Índice[20].
- perimeter¶
Número de pixéis no perímetro exterior da mancha. Inteiro. Índice
[10].
- roundness¶
Rácio entre o eixo menor e o eixo maior da mancha, calculado a partir dos seus momentos de segunda ordem. Float no intervalo 0.0 – 1.0;
1.0é um círculo perfeito,0.0é uma linha. Índice[11].
- elongation¶
1.0 - roundness– um valor no intervalo 0.0 – 1.0 em que0.0é um círculo perfeito e1.0é uma linha. Índice[18].
- compactness¶
(pixels * 4 * pi) / (perimeter * perimeter). Um círculo tem o menor perímetro para uma dada área, pelo que esta métrica é1.0para um círculo perfeito e diminui à medida que a mancha se torna mais irregular ou alongada. Float. Índice[21].
- rotation¶
Orientação da mancha em radianos, derivada dos seus momentos de segunda ordem. Float no intervalo 0 a pi (o eixo é simétrico, pelo que a direção é ambígua além de pi). Mais precisa para manchas alongadas – para manchas quase circulares o valor torna-se instável. Índice
[7].
Metadados de limiar / fusão¶
- code¶
Mapa de bits de 32 bits com um bit definido para cada limiar de cor (conforme passado a
Image.find_blobs()) que esta mancha correspondeu. Com um único limiar,code == 1. Com manchas multi-cor fundidas (merge=True) pode haver mais do que um bit definido. Índice[8].
- count¶
Número de manchas de origem fundidas nesta.
1quandomerge=False; pode ser superior quandomerge=True. Índice[9].
Cantos¶
- corners¶
4-tuplo de tuplos inteiros
(x, y)para os quatro cantos extremos da mancha, ordenados no sentido horário a partir do canto superior esquerdo. Estes são os cantos derivados do contorno (os pontos na fronteira da mancha mais afastados do centroide ao longo de quatro diagonais). Índice[14].
- min_corners¶
4-tuplo de tuplos inteiros
(x, y)para os quatro cantos do retângulo delimitador rotacionado de área mínima da mancha. Combinados comrotation, fornecem o ajuste mais justo em torno da mancha. Índice[15].
Histogramas de projeção¶
- x_hist_bins¶
Lista de contagens inteiras para o histograma de projeção do eixo X (colunas) da mancha. Apenas preenchida quando
find_blobs(...)é chamado comx_hist_bins_max> 0; caso contrário vazia. Índice[12].
- y_hist_bins¶
Lista de contagens inteiras para o histograma de projeção do eixo Y (linhas) da mancha. Apenas preenchida quando
find_blobs(...)é chamado comy_hist_bins_max> 0; caso contrário vazia. Índice[13].