一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、图像分割简介

理论知识参考:【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】

三、部分源代码

function [mu,mask]=kmeans(ima,k)
%   功能:运用k-means算法对图像进行分割
%   输入: ima-输入的灰度图像           k-分类数
%   输出:  mu-均值类向量                mask-分类后的图像
ima=double(ima);
copy=ima;
ima=ima(:);
mi=min(ima);
ima=ima-mi+1;
s=length(ima);
% 计算图像灰度直方图
m=max(ima)+1;
h=zeros(1,m);
hc=zeros(1,m);
for i=1:sif(ima(i)>0) h(ima(i))=h(ima(i))+1;end
end
ind=find(h);
hl=length(ind);
% 初始化质心
mu=(1:k)*m/(k+1);
% start process
while(true)oldmu=mu;% 现有的分类  for i=1:hlc=abs(ind(i)-mu);cc=find(c==min(c));hc(ind(i))=cc(1);end%重新计算均值  for i=1:k a=find(hc==i);mu(i)=sum(a.*h(a))/sum(h(a));endif(mu==oldmu) break;end;end
% calculate mask
s=size(copy);
mask=zeros(s);
for i=1:s(1),
for j=1:s(2),c=abs(copy(i,j)-mu);a=find(c==min(c));  mask(i,j)=a(1);
end
end
mu=mu+mi-1;
i=imread('8.png');
i1=rgb2lab(i);
i1=uint8(i1);
imshow(i1);ima=rgb2gray(i1);
imshow(ima); k=2;
[mu,mask]=kmeans(ima,k);
figure,imshow(mask,[]);title('k=2');
h=mask,[]

四、运行结果


五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]赵勇,方宗德,庞辉,王侃伟.基于量子粒子群优化算法的最小交叉熵多阈值图像分割[J].计算机应用研究. 2008,(04)

【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】相关推荐

  1. 【聚类算法】基于matlab划分法k-means聚类算法【含Matlab源码 1941期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[聚类算法]基于matlab划分法k-means聚类算法[含Matlab源码 1941期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  2. 【聚类算法】基于matlab改进的粒子群算法优化K-means算法【含Matlab源码 1946期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[聚类算法]基于matlab改进的粒子群算法优化K-means算法[含Matlab源码 1946期] 点击上面蓝色字体,直接付费下载,即可 ...

  3. 【优化算法】粒子群优化灰狼算法【含Matlab源码 006期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]粒子群优化灰狼算法[含Matlab源码 006期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化求解( ...

  4. 【优化算法】莱维飞行和随机游动策略的灰狼算法【含Matlab源码 1500期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]莱维飞行和随机游动策略的灰狼算法[含Matlab源码 1500期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  5. 【优化算法】细菌粒子群优化算法【含Matlab源码 1195期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]细菌粒子群优化算法[含Matlab源码 1195期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏Mat ...

  6. 【优化算法】多元宇宙优化算法【含Matlab源码 265期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]多元宇宙优化算法[含Matlab源码 265期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏Matla ...

  7. 【优化算法】蜂虎狩猎 (BEH) 算法【含Matlab源码 2278期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]蜂虎狩猎 (BEH) 算法[含Matlab源码 2278期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专 ...

  8. 【图像分割】基于matlab萤火虫算法图像聚类分割【含Matlab源码 2106期】

    ⛄一.萤火虫算法图像聚类分割简介 1 萤火虫算法的基本原理 1.1 萤火虫算法的数学表述 根据萤火虫算法的仿生原理,萤火虫算法的数学描述如下,萤火虫个体的相对发光强度可由式(2)确定 式中:rij为萤 ...

  9. 【图像分割】萤火虫算法图像聚类分割【含Matlab源码 2106期】

    ⛄一.萤火虫算法图像聚类分割简介 1 萤火虫算法的基本原理 1.1 萤火虫算法的数学表述 根据萤火虫算法的仿生原理,萤火虫算法的数学描述如下,萤火虫个体的相对发光强度可由式(2)确定 式中:rij为萤 ...

  10. 【目标定位】基于matlab粒子滤波的定位算法【含Matlab源码 2161期】

    一.基于粒子滤波污染源定位简介 粒子滤波定位算法是目前最精准定位可移动物体的位置,由于水域的流动,工业固体废物污染源很可能随着水流移动位置,基于粒子滤波算法将污染物定位分为预测.测量以及重新采样可大大 ...

最新文章

  1. 开源生态也难逃“卡脖子”危机?中国AI开发者的警醒和突围
  2. Stm32 Bootloader整理
  3. 较复杂js的书写格式
  4. matlab中循环保存数据
  5. 为什么一定情况下scanf比cin快
  6. DataWorks数据建模公开课上线啦!
  7. [js] 写一个方法实现promise失败后自动重试
  8. 紫皮java_java如果已知一个日期为2007/3/8,求10天后是哪一天,367天后呢
  9. java序列化kr_序列化专用列表
  10. 【Elasticsearch】Elasticsearch gateway 流程分析
  11. Python与Java曝漏洞,黑客利用FTP注入攻击可绕过防火墙
  12. Redis-数据结构06-快速链表(quicklist)
  13. 软件工程网络15个人阅读作业1(201521123062 杨钧宇)
  14. 人生苦短,我用 Chrome!
  15. prml线性模型小结
  16. ExtJs学习笔记(10)_Window窗口的Border布局
  17. 学习利器,借助Tampermonkey写一个B站视频加速器脚本
  18. 友情链接对网站优化有什么作用
  19. javascript英语单词音节拆分_拆分音节拼读法解析
  20. 【科创人】悦跑圈CTO钱荣明:创业成瘾,识人为先

热门文章

  1. django 之模板层
  2. plsql 存储过程 测试
  3. 小程序--改变子级别页面导航栏信息 / navigationBarTitleText
  4. 转:Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)...
  5. Flex桌面AIR软件日志添加
  6. 【起航计划 027】2015 起航计划 Android APIDemo的魔鬼步伐 26 App-Preferences-Preferences from XML 偏好设置界面...
  7. media query学习笔记
  8. HDU 3709 Balanced Number 枚举+数位DP
  9. Rhythmk 一步一步学 JAVA(9) JAVA 基础笔记[枚举,...]
  10. Centos学习笔记 linux 常用命令:压缩解压命令