繁体   English   中英

图像聚类,k 表示

[英]image clustering, k means

我有输入图像我的输入图像

我的代码是

img = imread('obraz.bmp');
img=rgb2gray(img)
imshow(img)

%% normalization 
img = ( img - min(img(:)) ) ./ ( max(img(:)) - min(img(:)) );

img = ~img;
[m n]=size(img)
P = [];
for i=1:m    
    for j=1:n        
        if img(i,j)>=1
            P = [P ; i j];        
        end
    end
end

size(P);
MON=P;     

[IDX,ctrs] = kmeans(MON,3);
clusteredImage = zeros(size(img));
clusteredImage(sub2ind(size(img) , P(:,1) , P(:,2)))=IDX;

imshow(label2rgb(clusteredImage))

我的输出图像是我的输出图像

我的输出不正确,我必须在逻辑上正确输出

有人可以帮忙吗?,我不明白聚类图像。

我不确定你为什么说输出不正确。 对我来说似乎很好。

看,如果您使用平方欧几里得距离运行 k 均值(正如您所做的那样),集群将偏向球形。 不幸的是,图像中的一个簇不是球形的。 您可以看到每个球形簇都有独特的颜色,但不是球形的簇则没有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM