matlab中kmeans函数的示例代码
时间: 2023-09-28 19:12:59 浏览: 95
kmeans MATLAB代码
下是一个使用MATLAB中kmeans函数进行图像分割的示例代码:
```matlab
I = imread('example.jpg'); % 读取图像
I = im2double(I); % 将图像转换为双精度类型
[m, n, ~] = size(I); % 获取图像大小
% 将图像转换为一维向量
X = reshape(I, m*n, 3);
% 调用kmeans函数进行图像分割
K = 2; % 分成两类
[idx, ~] = kmeans(X, K);
% 将分割结果转换为图像
I_seg = reshape(idx, m, n);
imshow(I_seg);
```
上述代码中,我们首先读取了一张图像,将其转换为双精度类型,并获取其大小。接着,将图像转换为一维向量,再调用kmeans函数进行图像分割,分成两类。最后,将分割结果转换为图像并显示出来。
需要注意的是,kmeans函数的第二个返回值可以用来获取每一类的中心点,可以用于后续的图像处理。
阅读全文