k均值聚类 matlab

  • a4_831355
    了解作者
  • matlab
    开发工具
  • 409.5KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-02-23 10:38
    上传日期
matlab 中 k均值聚类 从其他地方k来得 里面有图 句子有解释
k均值聚类 matlab
  • L5.bmp
    65.1KB
  • L6.bmp
    65.1KB
  • L7.bmp
    65.1KB
  • L1.bmp
    65.1KB
  • L2.bmp
    65.1KB
  • L4.bmp
    65.1KB
  • L3.bmp
    65.1KB
  • shiyan.m
    2.6KB
内容介绍
% K-mean方法聚类 clear all; %%%%%%%%%%%%读入7幅遥感图像数据%%%%%%%%%%%%%%%%%% b(1,:,:)=imread('L1.bmp'); b(2,:,:)=imread('L2.bmp'); b(3,:,:)=imread('L3.bmp'); b(4,:,:)=imread('L4.bmp'); b(5,:,:)=imread('L5.bmp'); b(6,:,:)=imread('L6.bmp'); b(7,:,:)=imread('L7.bmp'); b=double(b); %转换为双精度类型% [temp,M,N]=size(b); N1=[10 20 20 10 10 15 10]';N2=[20 30 20 100 120 60 50]';N3=[80 80 80 200 180 80 110]'; %由图像选取初始分类中心% number1=0;number2=0;number3=0; %计量各类中象素点个数标志符% %设定迭代终止条件(若接近收敛则终止计算)% T=zeros(M,N); %T为判断分类标志符% e_new=10;e_old=20;times=0; %判断收敛程度的变量% format long; while(abs(e_old-e_new)>0.00001) times=times+1 e_new e_old=e_new; e_new=0; for i=1:M for j=1:N %%%%%%%%%%%%%%%%%%%%%%%%%判定各点归类%%%%%%%%%%%%%%%%%%%%%%%%%% d1=sum((b(:,i,j)-N1).^2); %计算各点与各初始分类中心之间的距离% d2=sum((b(:,i,j)-N2).^2); d3=sum((b(:,i,j)-N3).^2); min_d=min([d1,d2,d3]); %由K-mean算法判定各点所属的类别% if (d1==min_d) T(i,j)=1; number1=number1+1; elseif (d2==min_d) T(i,j)=2; number2=number2+1; elseif (d3==min_d) T(i,j)=3; number3=number3+1; end e_new=e_new+sqrt(min_d); %计算迭代终止条件% end end N1=N1*0;N2=N2*0;N3=N3*0; %调聚类中心% e_new=e_new/M/N; %%%%%%%%%%%%%%%%%%%%%%调整各聚类的中心%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:M for j=1:N if (T(i,j)==1) N1=N1+b(:,i,j); elseif (T(i,j)==2) N2=N2+b(:,i,j); elseif (T(i,j)==3) N3=N3+b(:,i,j); end end end N1=N1/number1; number1=0; N2=N2/number2; number2=0; N3=N3/number3; number3=0; end result=zeros(M,N,3); % 进行上彩色,RGB彩图 for i=1:M for j=1:N % R分量 G分量 B分量 if (T(i,j)==1) result(i,j,1)=135;result(i,j,2)=206; result(i,j,3)=250; %LightSkyBlue% elseif(T(i,j)==2) result(i,j,1)=255;result(i,j,2)=236; result(i,j,3)=139; %LightGoldenrod1% elseif(T(i,j)==3) result(i,j,1)=244;result(i,j,2)=164;result(i,j,3)=96; %SandyBrown% end end end result=uint8(result); figure; imshow(result); %显示处理以后上彩色的结果图% imwrite(result,'result.bmp');
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...