使用K-means算法聚类灰度图

github数据集: 智能算法的课件和参考资料以及实验代码

我们可以用k-means算法将灰度图分成N个梯度

我们知道,一般的彩色图像指的是在RGB颜色空间下的图像,这样的图像三个通道分别是R(red)G(green)B(blue)。而灰度图指的是单通道的,将三通道的图像转为单通道常用方法有YUV法和平均法。

 

如何将一幅彩色图像转换为灰度图呢?根据人眼对红绿蓝三色的敏感程度,可以使用以下方式进行转换:

         Gray = R*0.299+G*0.587+B*0.114

这也是最常用的一种转换,另外还有一种常用的转换叫平均值法,即取去红绿蓝三色的平均值为灰度:

         Gray=(R+G+B)/3;

 

下面使用K-means算法将lenna256.bmp图像聚类成N类来处理:

close all
clear all
clc
I=imread('lenna256.bmp'); % 从指定的文件名(这里是相对目录,即当前程序所在目录)读取图像
I=im2double(I); % 把灰度图像的数据类型转换成双精度浮点数类型
J=zeros(size(I)); % 256*256 8位的灰度图
N=4; % 聚类成N类
[m,n]=size(I); % m=256,n=256
center=zeros(1,N);
% 下面初始化簇中心,有N个簇中心
for i&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youaresherlock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值