function valeur=Intra_LN(Imdep,Imseg)
% Calcul du critère d'uniformité intra-région de Lévine et Nazif
% pour une image bmp 8bits en niveaux de gris stockée sous la forme d'une matrice
% Imseg : matrice correspondant à l'image segmentée avec des valeurs allant de 1 à n pour les n régions segmentées 
% Imdep : matrice correspondant à l'image originale
%
% 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, C. Rosenberger, H. Laurent, 
%"Unsupervised performance evaluation of image segmentation", 
%Special Issue on Performance Evaluation in Image Processing, 
%EURASIP Journal on Applied Signal Processing, pages 1-12, 2006.

close all

valeur=0;

NBCLASS=double(max(max(Imseg)));
total=zeros(1,NBCLASS);
somme=0;

for k=1:NBCLASS
   [region_k]=find(Imseg==k);
   Ak=length(region_k);         %nb de pixels de la région k
   somme=somme+Ak;
   if (Ak==0)
	  	moy_k=0;
   	Immoy=double(Imdep)-ones(size(Imdep))*moy_k;
      total(k)=0;
   else
	  	moy_k=sum(sum(Imdep(region_k)))/Ak;
   	Immoy=double(Imdep)-ones(size(Imdep))*moy_k;
      total(k)=sum(sum(Immoy(region_k).^2))*4/(Ak*255*255); 	%/(max(max(double(Imdep(region_k))))^2*Ak);
   end;
end;
valeur=sum(total); 
disp(valeur);