【发布时间】:2013-04-17 08:38:10
【问题描述】:
我的图像有四种不同的颜色 - 深蓝色、浅蓝色、更浅的蓝色 - 背景和白色 - 背景。我想只细分前两个类别
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。这些似乎不是强度,所以当我试图让图像中的所有像素小于第二个平均值时,所有像素都通过了测试。我在这里缺少一些东西。谁能帮我根据高斯混合分割深蓝色和浅蓝色细胞。任何帮助表示赞赏!
【问题讨论】:
标签: matlab gaussian image-segmentation