%%%%%%%%%%%%%%% FCM算法分割图像 %%%%%%%%%%%%%%
function clusterResult = FCM(imagePath, C, V, M, iter, epsm)
% 模糊C均值(FCM)聚类算法分割图像
% clusterResult = FCM(imagePath, C, V, M, iter, epsm)
% Example: clusterResult =
%
% Input:
%
%
%
%
%
%
% Output:
%
% Note:
%
% 设定缺省值
if nargin < 6
end
if nargin < 5
end
if nargin < 4
end
if nargin < 3
end
if nargin < 2
end
% 读入图像及其信息
I = imread(imagePath);
figure, imshow(I);
title('原图像');
[row col] = size(I);
grayHist = imhist(I);
figure, imhist(I);
title('直方图');
histProb = grayHist / (row * col);
len = length(histProb);
tic
% FCM迭代过程
cnt = 0;
while(cnt < iter)
% 计算隶属度函数(注意要特殊考虑某个像素点和聚类中心一样的情况)
% 计算更新各类聚类中心
% 计算误差并判断算法迭代是否停止
end
toc
% 分割图像
for i = 1 : row
end
figure, imshow(uint8(I));
title('分割后的图像');
disp('迭代次数:iterTimes = ');
disp(cnt);
% end of FCM.m