function Res = HammingEval( FicImVT,FicImSeg ) %function Res = HammingEval( ImVT,ImSeg ) %besoin de res de seg ajustés 1 à n classes % % Utilitaires pour l'évaluation de la segmentation d'images % Toolbox matlab (version 5.3) % % (c) Laboratoire de Vision et Robotique (UPRES EA 2078) % ENSI de Bourges - Université d'Orléans % % Sébastien Chabrier : sebastien.chabrier@ensi-bourges.fr % % % Utilitaires pour l'évaluation de la segmentation d'images % Toolbox matlab (version 5.3) % % (c) Laboratoire de Vision et Robotique (UPRES EA 2078) % ENSI de Bourges - Université d'Orléans % % Sébastien Chabrier : sebastien.chabrier@ensi-bourges.fr % % Si vous utilisez cette toolbox, veuillez citer ce papier svp. % %S. Chabrier, B. Emile , H. Laurent, %"Psychovisual evaluation of an image segmentation result" , %8th International IEEE Conference on Signal Processing (ICSP), 2006. [ImVT PAL]=imread(FicImVT,'BMP'); [ImSeg PAL]=imread(FicImSeg,'BMP'); if (min(min(ImVT))==0) ImVT=double(ImVT)+1; else ImVT=double(ImVT); end; if (min(min(ImSeg))==0) ImSeg=double(ImSeg)+1; else ImSeg=double(ImSeg); end; [L,H]=size(ImVT); taille=L*H; n1=max(max(ImVT)); n2=max(max(ImSeg)); %création matrice de correspondance Corr Corr=zeros(n1,n2); for i=1:n1 for j=1:n2 % [i j] [A,B]=find(ImVT==i & ImSeg==j); Corr(i,j)=length(A); end; end; res1=0; res2=0; for i=1:n1 res1=res1+sum(Corr(i,:))-max(Corr(i,:)); end; for i=1:n2 res2=res2+sum(Corr(:,i))-max(Corr(:,i)); end; Res=1-(res1+res2)/(2*taille);