资源简介
利用matlab实现的k均值算法,对不同主体的图片进行分类,内含图片资源,分类为人,建筑,车,恐龙,大象和海滩风景。

代码片段和文件信息
clear
%循环读取所有图片,得到灰度矩阵,分别铺成一行,放入data中,形成kmeans数据data
pt = ‘C:\matlab2017b\my-file\kmeans\image100\‘;
ext = ‘*.jpg‘;
dis = dir([pt ext]);
nms = {dis.name};
data = zeros(length(nms)98304);
for k = 1:1:length(nms)
nm = [pt nms{k}];
I = imread(nm);
gray = rgb2gray(I);
data(k:) = reshape(gray198304);
end
%kmeans聚类算法处理数据
N=6;%设置聚类数目
[mn]=size(data);
pattern=zeros(mn+1);
center=zeros(Nn);%初始化聚类中心
pattern(:1:n)=data(::);
for x=1:N
center(x:)=data(randi(601):);%第一次随机产生聚类中心
end
while true
distence=zeros(1N);
num=zeros(1N);
new_center=zeros(Nn);
for x=1:m
for y=1:N
distence(y)=norm(data(x:)-center(y:));%计算到每个类的距离
end
[~ temp]=min(distence);%求最小的距离
pattern(xn+1)=temp;
end
k=0;
for y=1:N
for x=1:m
if pattern(xn+1)==y
new_center(y:)=new_center(y:)+pattern(x1:n);
num(y)=num(y)+1;
end
end
new_center(y:)=new_center(y:)/num(y);
if norm(new_center(y:)-center(y:))<0.1
k=k+1;
end
end
if k==N
break;
else
center=new_center;
end
end
[m n]=size(pattern);
%最后显示聚类后的灰度图像
% for i=1:m
% if pattern(in)==1
% imshow(reshape(pattern(i1:n-1)256384))
% c1 = zeros(256384);
% c1(::) = reshape(pattern(i1:n)256384);
% mkdir image1
% imwrite(gray‘image1/test1.png‘)
% elseif pattern(in)==2
% plot(pattern(i1)pattern(i2)‘g*‘);
% plot(center(21)center(22)‘ko‘);
% elseif pattern(in)==3
% plot(pattern(i1)pattern(i2)‘b*‘);
% plot(center(31)center(32)‘ko‘);
% % elseif pattern(in)==4
% % plot(pattern(i1)pattern(i2)‘y*‘);
% % plot(center(41)center(42)‘ko‘);
% else
% plot(pattern(i1)pattern(i2)‘m*‘);
% plot(center(41)center(42)‘ko‘);
% end
% end
c = zeros(256384);
for j = 1:1:N
a = find(pattern(:n)==j);
a = a‘;
figure
for i = 1:1:num(j)
subplot(1num(j)i)
nm1 = [pt nms{a(i)}];
I1 = imread(nm1);
imshow(I1)
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-04 10:00 kmeans图像分类\
文件 2510 2018-06-01 21:21 kmeans图像分类\cluster_kmeans.m
目录 0 2018-06-04 10:00 kmeans图像分类\image60\
文件 26552 2001-07-07 04:02 kmeans图像分类\image60\102.jpg
文件 35137 2001-07-07 04:02 kmeans图像分类\image60\104.jpg
文件 40729 2001-07-07 04:02 kmeans图像分类\image60\107.jpg
文件 25540 2001-07-07 04:02 kmeans图像分类\image60\112.jpg
文件 31940 2001-07-07 04:02 kmeans图像分类\image60\119.jpg
文件 16367 2001-07-07 04:02 kmeans图像分类\image60\126.jpg
文件 31944 2001-07-07 04:02 kmeans图像分类\image60\132.jpg
文件 28383 2001-07-07 04:02 kmeans图像分类\image60\159.jpg
文件 30259 2001-07-07 04:02 kmeans图像分类\image60\179.jpg
文件 28958 2001-07-07 04:02 kmeans图像分类\image60\191.jpg
文件 23251 2001-07-07 04:02 kmeans图像分类\image60\207.jpg
文件 31123 2001-07-07 04:02 kmeans图像分类\image60\243.jpg
文件 33064 2001-07-07 04:02 kmeans图像分类\image60\251.jpg
文件 26743 2001-07-07 04:02 kmeans图像分类\image60\283.jpg
文件 33778 2001-07-07 04:02 kmeans图像分类\image60\284.jpg
文件 29890 2001-07-07 04:02 kmeans图像分类\image60\286.jpg
文件 31669 2001-07-07 04:02 kmeans图像分类\image60\288.jpg
文件 23238 2001-07-07 04:02 kmeans图像分类\image60\292.jpg
文件 27883 2001-07-07 04:02 kmeans图像分类\image60\298.jpg
文件 24264 2001-07-07 04:02 kmeans图像分类\image60\299.jpg
文件 34039 2001-07-07 04:02 kmeans图像分类\image60\302.jpg
文件 29341 2001-07-07 04:02 kmeans图像分类\image60\306.jpg
文件 28547 2001-07-07 04:02 kmeans图像分类\image60\313.jpg
文件 32212 2001-07-07 04:02 kmeans图像分类\image60\320.jpg
文件 27337 2001-07-07 04:02 kmeans图像分类\image60\330.jpg
文件 30136 2001-07-07 04:02 kmeans图像分类\image60\331.jpg
文件 28155 2001-07-07 04:03 kmeans图像分类\image60\344.jpg
文件 27866 2001-07-07 04:03 kmeans图像分类\image60\346.jpg
............此处省略32个文件信息
- 上一篇:同步发电机励磁控制系统
- 下一篇:树叶图像特征分类识别MATLAB程序-青橙是也
相关资源
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
评论
共有 条评论