Borrar filtros
Borrar filtros

unable to fit Gaussian mixture model

1 visualización (últimos 30 días)
Niraj
Niraj el 17 de Oct. de 2012
Hi, I am trying to recognise the moving objects in binary image. In each frame i have identified the blobs and also have their centroids. I need to fit a GMM so that they gets identified when the blobs overlap each other. could anyone help me in doing this. I tried the gmdistribution.fit function but i am confused with the fact that whether input parameter needs to be the distribution of the coordinates of the blobs in each frame? If this is the case then how will it identify the bob in each frame? Please provide me some help.
  5 comentarios
kittu
kittu el 15 de Nov. de 2012
Editada: kittu el 15 de Nov. de 2012
this could be done something like:
%
pixelList = [struct.PixelList]; struct is a structure which contains the pixels of interest
obj = gmdistribution.fit(pixelList,k); %k is the number of clusters you want.
sig=obj.Sigma;
mu=obj.mu;
for cluster=1:k
[v,d]=eig(sig(:,:,cluster));
dd=sqrt(d);
ra=2*dd(1,1);
rb=2*dd(2,2);
x0=mu(cluster,1);
y0=mu(cluster,2);
ang = atan(v(2,1)/v(1,1))*(180/pi);
area=pi*ra*rb;
end
you can pass these parameters top draw the ellipse.
Kittu
Niraj
Niraj el 7 de Dic. de 2012
Thanks kittu, it helped..

Iniciar sesión para comentar.

Respuestas (1)

Tom Lane
Tom Lane el 18 de Oct. de 2012
I don't know much about analyzing images. But gmdistribution expects its input data to be samples drawn from a Gaussian mixture distribution. If your image is being modeled so that the image values are something like the density of a gmm, then that's more like surface fitting than distribution fitting. Is that the case?

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by