1 簡介
模糊C均值聚類(FCM)圖像分割法是一種典型且常用的模糊聚類圖像分割算法,該方法原理簡單,疊代過程能夠自适應,但是該方法也存在一些明顯的缺陷:對噪聲敏感且對重疊部分圖像分割不準确。鑒于此,在已有的改進FCM算法的基礎上,本文将模糊集擴充為直覺模糊集,并結合圖像的空間資訊提出了一種基于直覺模糊 C均值聚類(IFCM)算法的圖像分割方法,直覺模糊集在模糊集上增加了非隸屬度函數,即用隸屬度及非隸屬度來描述集合的模糊性,這比經典模糊集表示模糊性更精确。1、介紹了傳統的模糊 C均值聚類(FCM)算法并讨論了其在圖像分割時存在的優缺點。針對FCM算法隻利用灰階資訊導緻圖像分割不準确的缺點,讨論了幾種結合空間資訊的改進FCM算法。2、由于直覺模糊集(IFS)比模糊集(FS)更能準确地刻畫資料的不确定性,本文構造了一種直覺模糊集并将該直覺模糊集引入到模糊C均值聚類算法中,提出了一種直覺模糊C均值算法(IFCM)。通過實驗驗證IFCM算法取得了較好的分割效果。

2 部分代碼
clear
close all
clc
clear
close all
clc
%% %%%%%%%%%%%%%%%圖像%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I=imread('3096.jpg');
if size(I,3) == 3
I=rgb2gray(I);
else
end
figure;imshow(I);title('(a)原始圖像');imwrite(I,'1.tiff','tiff','Resolution',300);%儲存為tif
%I=I;%不加噪聲
% I=imnoise(I,'speckle',deta_2);
I=imnoise(I,'salt & pepper',0.05); %加噪圖椒鹽噪聲
% I=imnoise(I,'gaussian',0,0.01); % 加高斯噪聲
figure;imshow(I);title('(b)加噪圖像');imwrite(I,['2.','.tiff'],'tiff','Resolution',300);%儲存為tif
[m,n]=size(I);
% k=4;
k=2;
r=3;
m_index=2;
beta=6;
neighbor=3;%3*3鄰域去噪
lamda_s_enfcm=3;%s參數
I=im2double(I);
I4 = I(:); %% 将圖像灰階按列排列
%% ------------------------ ifcm------------------------
ifcm_label=zeros(m*n,1);
t=cputime;
tic;
[O2, U2, obj_fcn2] = ifcm(I4, k);
toc;
time_fcm_spatial_mean=cputime-t;
maxU2 = max(U2); %隸屬度最大
for j=1:k
index = find(U2(j, :) == maxU2); %隸屬度最大對應的像素位置
ifcm_label(index) = j;
end
labels2=reshape(ifcm_label,[m n]);
%顯示聚類分割圖
labels2(find(labels2==1))=0;
labels2(find(labels2==2))=255;
labels2(find(labels2==3))=125;
labels2(find(labels2==4))=180;
labels2=uint8(labels2);
% figure;imshow(labels2,[]);title('(c)聚類分割圖');imwrite(labels2,'3.jpg');imwrite(labels2,'33.png')%儲存為jpg
figure;imshow(labels2,[]);title('(c)聚類分割圖');
imwrite(labels2,['3.1.','.tiff'],'tiff','Resolution',300);%儲存為tif