1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
% on charge l'image et on l'affiche
picture = imread('test3.JPG');
image(picture);
% On passe en image d'index et on l'affiche
[image_indexee, map2] = rgb2ind(picture,65536);
figure;
image(image_indexee),colormap(map2);
% application de la fcm
[CENTER, Mat_flou, OBJ_FCN] = fcm(map2,256);
[p,q] = size(Mat_flou);
max_table_flou=cell(1,p);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Récupération du maximum du flou du fcm %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:p
[t,u]=max(Mat_flou(k,:));
max_table_flou{k}=u;
end
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Algorithme permettant de savoir à quelle classe ont été affectées les couleurs
% et permet de remettre à jour l'index en conséquence
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[m,n]=size(image_indexee);
for i=1:m
for j=1:n
for indice=1:length(max_table_flou);
if image_indexee(i,j)==max_table_flou{indice}
image_indexee(i,j)=indice;
end
end
end
end
% affichage de l'image réduite en couleur et réindexée
figure;
image(image_indexee),colormap(CENTER); |
Partager