模糊C均值算法(FCM)分割图像MATLAB程序
做课题的时候用到模糊C均值算法(FCM)分割图像,写了MATLAB程序给需要的朋友们,仅供参考。若有不妥之处,望予以指教。
% 文件名: FCM.m
% 功能: 模糊C均值(FCM)聚类算法分割图像
% 作者: 雨帘
% 时间: 2011/11/17
%%%%%%%%%%%%%%% 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)
% 计算隶属度函数(注意要特殊考虑某个像素点和聚类中心一样的情况)