一、优化函数

FCM算法的数学模型其实是一个条件极值问题:

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

把上面的条件极值问题转化为无条件的极值问题,这个在数学分析上经常用到的一种方法就是拉格朗日乘数法把条件极值转化为无条件极值问题,

需要引入n个拉格朗日因子,如下所示:

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

然后对各个变量进行求导,从而得到各个变量的极值点。

二、对聚类质心Ck进行求导

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

其中,

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

所以,

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

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

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

其中,所选取的距离dij对质心求解不影响。

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

拉格朗日函数分为两部分,我们需要分别对其进行求导,先算简单的,对后一部分进行求导:

1)后半部分

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

2)前半部分

对前一部分进行求导就比较复杂和困难了:

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

 3)把两部分放到一起

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

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

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

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

%% 测试 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,[]);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

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

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