Inter-region

Fermé
walidrmd Messages postés 1 Date d'inscription mardi 7 avril 2015 Statut Membre Dernière intervention 8 avril 2015 - 8 avril 2015 à 10:01
Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 septembre 2024 - 8 avril 2015 à 15:19
Bonjour,

Je ai un problème ... Se il vous plaît me aider



valeur=0;
Imori1=imread('image2.png');
Imseg1=imread('segmented.png');
Imori=rgb2gray(Imori1);
Imseg=rgb2gray(Imseg1);


NBCLASS=double(max(max(Imseg)));
moyenne=zeros(1,NBCLASS);
contraste=zeros(1,NBCLASS);
contraste_croise=zeros(1,NBCLASS);
perimetre=zeros(1,NBCLASS);
frontiere=zeros(1,NBCLASS);
aire=zeros(1,NBCLASS);

for k=1:NBCLASS
[region_k]=find(Imseg==k);
aire(k)=length(region_k); %nb de pixels de la région k
if (aire(k)>0)
moyenne(k)=sum(sum(Imdep(region_k)))/aire(k);
else
moyenne(k)=0;
end;

Imbin=zeros(size(Imseg));
Imbin(region_k)=ones(size(region_k));
contour_k=find((double(dilate(Imbin,ones(3)))-double(Imbin))==1);
for l=1:NBCLASS
if (contour_k)
M=find(Imseg(contour_k)==l);
if (M)
frontiere(k,l)=length(M);
else
frontiere(k,l)=0;
end;
else
frontiere(k,l)=0;
end;
end;
perimetre(k)=length(contour_k);
if (perimetre(k)==0)
frontiere(k,:)=0;
else
frontiere(k,:)=frontiere(k,:)/perimetre(k);
end;

end;

for k=1:NBCLASS
for l=1:NBCLASS
if (moyenne(k)+moyenne(l)==0)
contraste_croise(k,l)=0;
else
contraste_croise(k,l)=abs(moyenne(k)-moyenne(l))/(moyenne(k)+moyenne(l));
end;
end;
contraste(k)=frontiere(k,:)*contraste_croise(k,:)';
end;
%[contraste_croise]
%pause;
valeur=(aire*contraste')/sum(aire);

disp(valeur)

??? Error using ==> dilate at 12
DILATE has been removed. Use IMDILATE instead.


1 réponse

Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 septembre 2024 919
8 avril 2015 à 15:19
Bonjour, je ne fais pas de Matlab, par conséquent je ne répondrais pas à ta question.
Mais ceux qui font du Matlab ne répondront pas non plus, car il n'y a pas de question....
0