资源简介
利用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程序-青橙
- GPC广义预测控制matlab例程
- OFDM—MIMO系统的matlab程序
- 克里金插值matlab工具包加
- 场景文字检测(matlab)
- 用MATLAB实现基于小波变换的图像融合
- SIFT算法的MATLAB 代码,可直接运行
- 基于MATLAB的树叶图像特征分类识别
- 数字图像处理作业图像加椒盐噪声加
- MATLAB双三次插值实现图像放大;MATL
- MATLAB \“slice\“切片功能实现四维显示
- MATLAB中的经济模型
- 《全面详解LTE MATLAB建模、仿真与实现
-
MATLAB Simuli
nk直接扩频通信 - 医学图像分析MATLAB代码
- 自适应模糊控制及MATLAB仿真
- Matlab手写数字识别
- 路径规划MATLAB版代码
- 用MATLAB计算随机变量的数学期望和方
- matlab svm工具箱
- 基于matlab的机器人最优路径规划仿真
- 最新MATLAB分布式仿真平台搭建官方文
- 对于双输入双输出系统的模型预测控
- 自适应差分阈值法检测QRS波
-
MATLAB SIMUli
nk建模与仿真精讲.part22 - Matlab的Garch工具箱
- 基于MATLAB的回波信号的产生与消除
- 基于matlab语音信号分析的低通高通滤
- Matlab+GUI+入门
- Matlab 2015b Mac OS X crack
评论
共有 条评论