我有四种不同颜色的图像 - 深蓝色,浅蓝色,更浅的蓝色 - 背景和白色 - 背景。我只想细分前两个类别
bG= mat2gray(image);
his=imhist(bG);
sai = gmdistribution.fit(his,4);
m1=sai.mu(1);
v1=sai.Sigma(1);
m2=sai.mu(2);
v2=sai.Sigma(2);
imt=bG<m2+v2;
figure;
imagesc(~imt);
我得到一个所有像素为 1 的图像。bG 图像矩阵的值小于 1,但每个高斯的均值和方差要高得多。
据我了解,bG 是一个图像矩阵,因此将具有强度值。所以这里的所有值都小于 1。
但是四个高斯的均值是:0.8604 0.976 2.9182 6.6377。这些似乎不是强度,所以当我试图让图像中的所有像素小于第二个平均值时,所有像素都通过了测试。我在这里缺少一些东西。谁能帮我根据高斯混合分割深蓝色和浅蓝色细胞。任何帮助表示赞赏!