Segmentação de imagem com um modelo mistura gaussiano
As imagens são representadas como arranjos de pixels. Um pixel é uma gradeza escalar (ou vector) que mostra a intensidade (ou cor). Um modelo mistura de Gauss pode ser usado para dividir os pixels em segmentos semelhantes para posterior análise.
In[1]:=

pic = ExampleData[{"TestImage", "Aerial"}]
Out[1]=

In[2]:=

pixels = Flatten[ImageData[pic]];
Visualize a distribuição de valores de pixels.
mostre o input completo da Wolfram Language
Out[3]=

Ajuste os valores de pixel em um modelo mistura gaussiano de três componentes.
In[4]:=

gmm = Quiet@
EstimatedDistribution[pixels,
MixtureDistribution[{p1, p2, p3}, {NormalDistribution[a1, a2],
NormalDistribution[b1, b2], NormalDistribution[c1, c2]}]];
Marque cada pixel com o componente mais provável com uma estimativa de máxima probabilidade a posteriori (MAP).
In[5]:=

pxi = Table[PDF[dist, pixels], {dist, Last[gmm]}];
pxi = Transpose[pxi]/Total[pxi First[gmm]];
labels = ArrayReshape[Ordering[#, -1] & /@ pxi, ImageDimensions[pic]];
Visualize a imagem segmentada, e compare-a com a original.
mostre o input completo da Wolfram Language
Out[6]=
