我有一个图像,我想通过高斯混合模型估计输入图像的颜色分布,我怎么能用 Matlab 做到这一点?
myImage = imread('Jellyfish.jpg');
gmdistribution.fit(X,k)
对我不起作用,因为 X 必须是 2D 矩阵而 myImage 是 3D 矩阵,使用时出现此错误gmdistribution.fit(myImage,10)
:X 必须是数字 2-D 矩阵。
当我使用gmdistribution.fit(myImage(:,:,1),10)
图像的红色时,我收到此错误:
Error using var (line 59)
First argument must be single or double.
Error in gmdistribution.fit (line 133)
varX = var(X);
当我使用时: gmdistribution.fit(single(myImage(:,:,1)),10)
我给出了这个错误:
Error using gmcluster (line 180)
Ill-conditioned covariance created at iteration 2.
Error in gmdistribution.fit (line 174)
[S,NlogL,optimInfo] =...
我想将其用于使用高斯混合模型的图像分割。如果您有任何想法,请帮助我。