%ImFid.m
function F=ImFid(I,J)
% ImFid(I,J) returns the image fidelity between I and J.
% The ImFid value is useful to quantitize the distortions on an image.

if (size(I)~=size(J))
   error('Las imagenes deben tener el mismo tamaño')
end
if (~isrgb(I) & ~isrgb(J))
   [m n] = size(I);
   A=double(I);
   B=double(J);
   sumaI=0;
   sumaDif=0;
   for u=1:m
      for v=1:n
         sumaI = sumaI + A(u,v)^2;
         sumaDif = sumaDif + (A(u,v)-B(u,v))^2;
      end
   end
   F=1-(sumaDif/sumaI);  
else 
   error('Las imagenes no pueden ser en color')
end
