function [SC,CC,IF,L1,MD,NAE,NMSE,L2T]=eskici(imgo,imgc) % function computes some of the measures in multispectral form explained in % A. M. Eskiciošlu, P. S. Fisher, "Image Quality Measures and Their Performance", % IEEE Trans. Commun., 43(12), 2959-2965 (1995). img1=double(imread(imgo,'bmp')); img2=double(imread(imgc,'bmp')); [sizex sizey dim]=size(img1); Rimg=img1(:,:,1); Gimg=img1(:,:,2); Bimg=img1(:,:,3); RCimg=img2(:,:,1); GCimg=img2(:,:,2); BCimg=img2(:,:,3); SC=(sum(sum(Rimg.^2))/sum(sum(RCimg.^2))+sum(sum(Gimg.^2))/sum(sum(GCimg.^2))+sum(sum(Bimg.^2))/sum(sum(BCimg.^2)))/3 CC=(sum(sum(Rimg.*RCimg))/sum(sum(Rimg.^2))+sum(sum(Gimg.*GCimg))/sum(sum(Gimg.^2))+sum(sum(Bimg.*BCimg))/sum(sum(Bimg.^2)))/3 IF=1-( sum(sum((Rimg-RCimg).^2))/sum(sum(Rimg.^2)) + sum(sum((Gimg-GCimg).^2))/sum(sum(Gimg.^2)) + sum(sum((Bimg-BCimg).^2))/sum(sum(Bimg.^2)) )/3 L1=(mean2(abs(Rimg-RCimg))+mean2(abs(Gimg-GCimg))+mean2(abs(Bimg-BCimg)))/3 MD=(max(max(abs(Rimg-RCimg)))+max(max(abs(Gimg-GCimg)))+max(max(abs(Bimg-BCimg))))/3 R=dct2(Rimg); G=dct2(Gimg); B=dct2(Bimg); RC=dct2(RCimg); GC=dct2(GCimg); BC=dct2(BCimg); RR=zeros(sizex,sizey); GG=zeros(sizex,sizey); BB=zeros(sizex,sizey); RRC=zeros(sizex,sizey); GGC=zeros(sizex,sizey); BBC=zeros(sizex,sizey); for u=1:sizex for v=1:sizey RR(u,v)=hh(sqrt(u.^2+v.^2))*R(u,v); GG(u,v)=hh(sqrt(u.^2+v.^2))*G(u,v); BB(u,v)=hh(sqrt(u.^2+v.^2))*B(u,v); RRC(u,v)=hh(sqrt(u.^2+v.^2))*RC(u,v); GGC(u,v)=hh(sqrt(u.^2+v.^2))*GC(u,v); BBC(u,v)=hh(sqrt(u.^2+v.^2))*BC(u,v); end end NAE=(sum(sum(abs(RR-RRC)))/sum(sum(abs(RR)))+sum(sum(abs(GG-GGC)))/sum(sum(abs(GG)))+sum(sum(abs(BB-BBC)))/sum(sum(abs(BB))))/3 NMSE=abs(( sum(sum((RR-RRC).^2))/sum(sum(RR.^2))+sum(sum((GG-GGC).^2))/sum(sum(GG.^2))+sum(sum((BB-BBC).^2))/sum(sum(BB.^2)) )/3) L2T=((mean2(abs(RR-RRC).^2)+mean2(abs(GG-GGC).^2)+mean2(abs(BB-BBC).^2)).^(1/2))/3