Matlab 基于k均值的纹理分割

Matlab 基于k均值的纹理分割,matlab,Matlab,我有一张纹理图片,想用K-均值算法分割它。 我写道: 但是我不确定,你能帮我吗?我需要的结果如下: 对于此输入图像: 主要图片是输入图像的样子吗?是彩色图像还是灰度图像?你了解将k-means直接应用于图像灰度级、讨论任何空间信息的意义吗?你认为k-means为什么会在这里帮助你?谢谢你的关注。我的输入图像是灰度纹理图像。我应该在这些图片上测试一些图像分割方法。 clc;clear; I=imread('jyFMW.jpg'); [r c]=size(I) %figure %imshow(I)

我有一张纹理图片,想用K-均值算法分割它。 我写道:

但是我不确定,你能帮我吗?我需要的结果如下:

对于此输入图像:

主要图片是输入图像的样子吗?是彩色图像还是灰度图像?你了解将k-means直接应用于图像灰度级、讨论任何空间信息的意义吗?你认为k-means为什么会在这里帮助你?谢谢你的关注。我的输入图像是灰度纹理图像。我应该在这些图片上测试一些图像分割方法。
clc;clear;
I=imread('jyFMW.jpg');
[r c]=size(I)
%figure
%imshow(I)
%imhist(I)
R=double(I(:));
k=5;
[IDX,C]=kmeans(R,k);
B=zeros(size(C));
B(find( C == 1 )) = 0;
B(find( C == 2 )) = 50; 
B(find( C == 3)) = 100; 
B(find( C == 4 )) = 150; 
B(find( C == 5 )) = 200; 
S=reshape(B,r,c);
figure
imshow(S)