图像分割基于空间信息的模糊均值聚类算法实现图像分割matlab源码

Posted 博主QQ2449341593

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像分割基于空间信息的模糊均值聚类算法实现图像分割matlab源码相关的知识,希望对你有一定的参考价值。

模糊聚类是指模糊C均值聚类(Fuzzy Cmeans),简写为FCM或者模糊Cmeans,同Kmeans一样,是一种被广泛应用的聚类算法。通过测试,发现,模糊Cmeans的聚类效果比Kmeans要优秀。

模糊聚类引入一个 隶属度矩阵 u ,它是衡量当前样本属于某个类的可能性大小。当前样本可能属于类1,也可能属于累2,因此这种聚类成为模糊聚类。

若数据集 X 被划分成c个类,那么有c个类中心,样本 x_j 与类中心 c_i 的隶属度为 u_i_j ,于是就有约束函数:

J=\\sum_{i=1}^{c}\\sum_{j=1}^{n}u_i_j^m||x_j-c_i||^2 ,其中m是隶属度因子。

接下来就是利用约束函数求解 u_i_j 和 c_i ,采用的拉格朗日乘数法(具体推导,点击: 聚类之详解FCM算法原理及应用 ,这里就不做详细介绍),得到 u_i_j 和 c_i 是 相互关联 的。在算法开始的时候,假设其中一个值(例如 u_i_j ),通过迭代计算, u_i_j 和 c_i 通过对方得计算自己。

可以简单 u_i_j 是样本属于摸个类的可能性大小, c_i 是样本与贡献度乘积的结果。

6.1 算法流程

输入:样本 X ,类的个数c,隶属度因子m(一般取2),迭代次数

输出:模糊Cmeans聚类结果

  1. 确定分类个数c,指数m的值,确定迭代次数(这是结束的条件,当然结束的条件可以有多种)。
  2. 初始化一个隶属度 u_i_j (和为1);
  3. 根据 u_i_j 计算聚类中心 c_i ;
  4. 这个时候可以计算目标函数 J 了
  5. 根据 c_i 返回去计算 u_i_j ,回到步骤3,一直循环直到结束。

 

%% 测试 SFCM 在SAR图像陆地掩膜中的效果

close all;

img = imread('mrihead.bmp');
img=imresize(img,[500,500],'nearest');


ds = 2; Ds = 5; h = 15;
% NLMF_img = NonLocalMeansFilter(img, ds, Ds, h);  %非局部均值滤波,去盐噪声
% % img=NLMF_img;
% figure,imshow(NLMF_img,[]);

[MF,Cent,Obj]=SFCM2D(img,2);

flag=MF(1,:);

map=img;
map(flag>0.5)=0;
map(map>0)=1;
figure,imshow(img,[]);
figure,imshow(map,[]);

完整代码或者仿真咨询添加QQ1575304183

以上是关于图像分割基于空间信息的模糊均值聚类算法实现图像分割matlab源码的主要内容,如果未能解决你的问题,请参考以下文章

图像分割基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割matlab源码

matlab基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割

matlab基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割

图像分割基于局部空间信息模糊聚类FLICM算法图像分割matlab源码

图像分割基于FCM和改进的模糊聚类FCM实现脑部CT图像分割matlab源码

图像分割基于模糊聚类算法FCM实现图像分割matlab源码