function [anglemean, mixmin]=angleratio(imgo,imgc) 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); AA=zeros(sizex,sizey); AM=zeros(sizex,sizey); for row=1:sizex for col=1:sizey r=Rimg(row,col); g=Gimg(row,col); b=Bimg(row,col); rc=RCimg(row,col); gc=GCimg(row,col); bc=BCimg(row,col); dotproduct=r*rc+g*gc+b*bc; farknorm=(((r-rc)^2+(g-gc)^2+(b-bc)^2)^.5)/(3*255*255)^.5; length1=sqrt(r.^2+g.^2+b.^2); length2=sqrt(rc.^2+gc.^2+bc.^2); if(length1==0 | length2==0) AA(row,col)=0.0; else arc=dotproduct/(length1*length2); if (abs(arc) < 1.0) Angle=(2/pi)*acos(arc); else Angle=0.0; end AA(row,col)=Angle; end AM(row,col)=farknorm.*AA(row,col); end end anglemean=mean2(AA); mixmin=mean2(AM);