matlab的kmeans算法的问题

想把一张图转化为一维度的512*512*1,即一维数组,
图像原来是黑白的,然后用kmeans处理
I = imread('1.bmp');
I2 = double(I);
II = I2(:);
[idx ctx]=kmeans(II,4);
iidx = reshape(idx,512,512);
imshow(iidx,[]);
写了这几行,但是运行没错误只是也不出结果,求助这是为什么?
这是那张图片……

第1个回答  2014-11-04
没有问题!

I = imread(('1.bmp));
[nrows,ncols]=size(I);
I2 = double(I);
II = I2(:);
[idx, ctx]=kmeans(II,4);
iidx = reshape(idx,nrows,ncols);
imshow(I)
figure,imshow(iidx,[]);追问

是啊我们老师也说没问题,请问这个程序运行的结果现实是什麼不知道你方便发一张图片或者描述下吗?谢谢!

追答

kmeans是一个聚类算法

你这个程序是把原始图像的所有像素作为待测试的数据点

然后按照相似度关系聚类成4类

最后的图像只有四种像素值

追问

谢谢你的回答,请问那我这里出不来结果但是代码有没有问题的话是哪里的原因呢?matlab的问题吗?

追答

这个就不清楚了,原因可能很多!
满意请采纳,追问请加分!

本回答被提问者和网友采纳
相似回答