function edgestability_JS(img1,img2,img3,img4,img5,img6) % function takes the original image img1 and the same image at five different % distortion levels img2...img6 as arguments and computes edge stability % and related measures. Computed measures are written to edgestability.txt file. % % D. Carevic, T. Caelli, "Region Based Coding of Color Images Using KLT", % Graphical Models and Image Processing 59(1), 27-38 (1997). distoetion levels [i5_100,XY1]=colcannydiffsigma_ozel(img1,1.19,1.19,1.19,1.19); i5_125=colcannydiffsigma(img1,1.41,1.41,1.41,1.41); i5_150=colcannydiffsigma(img1,1.68,1.68,1.68,1.68); i5_175=colcannydiffsigma(img1,2.0,2.0,2.0,2.0); i5_200=colcannydiffsigma(img1,2.38,2.38,2.38,2.38); [i51_100,XY2]=colcannydiffsigma_ozel(img2,1.19,1.19,1.19,1.19); i51_125=colcannydiffsigma(img2,1.41,1.41,1.41,1.41); i51_150=colcannydiffsigma(img2,1.68,1.68,1.68,1.68); i51_175=colcannydiffsigma(img2,2.0,2.0,2.0,2.0); i51_200=colcannydiffsigma(img2,2.38,2.38,2.38,2.38); [i52_100,XY3]=colcannydiffsigma_ozel(img3,1.19,1.19,1.19,1.19); i52_125=colcannydiffsigma(img3,1.41,1.41,1.41,1.41); i52_150=colcannydiffsigma(img3,1.68,1.68,1.68,1.68); i52_175=colcannydiffsigma(img3,2.0,2.0,2.0,2.0); i52_200=colcannydiffsigma(img3,2.38,2.38,2.38,2.38); [i53_100,XY4]=colcannydiffsigma_ozel(img4,1.19,1.19,1.19,1.19); i53_125=colcannydiffsigma(img4,1.41,1.41,1.41,1.41); i53_150=colcannydiffsigma(img4,1.68,1.68,1.68,1.68); i53_175=colcannydiffsigma(img4,2.0,2.0,2.0,2.0); i53_200=colcannydiffsigma(img4,2.38,2.38,2.38,2.38); [i54_100,XY5]=colcannydiffsigma_ozel(img5,1.19,1.19,1.19,1.19); i54_125=colcannydiffsigma(img5,1.41,1.41,1.41,1.41); i54_150=colcannydiffsigma(img5,1.68,1.68,1.68,1.68); i54_175=colcannydiffsigma(img5,2.0,2.0,2.0,2.0); i54_200=colcannydiffsigma(img5,2.38,2.38,2.38,2.38); [i55_100,XY6]=colcannydiffsigma_ozel(img6,1.19,1.19,1.19,1.19); i55_125=colcannydiffsigma(img6,1.41,1.41,1.41,1.41); i55_150=colcannydiffsigma(img6,1.68,1.68,1.68,1.68); i55_175=colcannydiffsigma(img6,2.0,2.0,2.0,2.0); i55_200=colcannydiffsigma(img6,2.38,2.38,2.38,2.38); [szx,szy]=size(i5_100); Q_5=zeros(szx,szy); for i=1:szx for j=1:szy if (i5_100(i,j) & i5_125(i,j) & i5_150(i,j) & i5_175(i,j) & i5_200(i,j) ) Q_5(i,j)=5; else if (i5_100(i,j) & i5_125(i,j) & i5_150(i,j) & i5_175(i,j)) Q_5(i,j)=4; else if (i5_100(i,j) & i5_125(i,j) & i5_150(i,j)) Q_5(i,j)=3; else if (i5_100(i,j) & i5_125(i,j)) Q_5(i,j)=2; else if (i5_100(i,j)) Q_5(i,j)=1; else Q_5(i,j)=0; end end end end end end end 66 Q_51=zeros(szx,szy); for i=1:szx for j=1:szy if (i51_100(i,j) & i51_125(i,j) & i51_150(i,j) & i51_175(i,j) & i51_200(i,j) ) Q_51(i,j)=5; else if (i51_100(i,j) & i51_125(i,j) & i51_150(i,j) & i51_175(i,j)) Q_51(i,j)=4; else if (i51_100(i,j) & i51_125(i,j) & i51_150(i,j)) Q_51(i,j)=3; else if (i51_100(i,j) & i51_125(i,j)) Q_51(i,j)=2; else if (i51_100(i,j)) Q_51(i,j)=1; else Q_51(i,j)=0; end end end end end end end Q_52=zeros(szx,szy); for i=1:szx for j=1:szy if (i52_100(i,j) & i52_125(i,j) & i52_150(i,j) & i52_175(i,j) & i52_200(i,j) ) Q_52(i,j)=5; else if (i52_100(i,j) & i52_125(i,j) & i52_150(i,j) & i52_175(i,j)) Q_52(i,j)=4; else if (i52_100(i,j) & i52_125(i,j) & i52_150(i,j)) Q_52(i,j)=3; else if (i52_100(i,j) & i52_125(i,j)) Q_52(i,j)=2; else if (i52_100(i,j)) Q_52(i,j)=1; else Q_52(i,j)=0; end end end end end end end Q_53=zeros(szx,szy); for i=1:szx for j=1:szy if (i53_100(i,j) & i53_125(i,j) & i53_150(i,j) & i53_175(i,j) & i53_200(i,j) ) Q_53(i,j)=5; else if (i53_100(i,j) & i53_125(i,j) & i53_150(i,j) & i53_175(i,j)) Q_53(i,j)=4; else if (i53_100(i,j) & i53_125(i,j) & i53_150(i,j)) Q_53(i,j)=3; else if (i53_100(i,j) & i53_125(i,j)) Q_53(i,j)=2; else if (i53_100(i,j)) Q_53(i,j)=1; else Q_53(i,j)=0; end end end end end end end Q_54=zeros(szx,szy); for i=1:szx for j=1:szy if (i54_100(i,j) & i54_125(i,j) & i54_150(i,j) & i54_175(i,j) & i54_200(i,j) ) Q_54(i,j)=5; else if (i54_100(i,j) & i54_125(i,j) & i54_150(i,j) & i54_175(i,j)) Q_54(i,j)=4; else if (i54_100(i,j) & i54_125(i,j) & i54_150(i,j)) Q_54(i,j)=3; else if (i54_100(i,j) & i54_125(i,j)) Q_54(i,j)=2; else if (i54_100(i,j)) Q_54(i,j)=1; else Q_54(i,j)=0; end end end end end end end Q_55=zeros(szx,szy); for i=1:szx for j=1:szy if (i55_100(i,j) & i55_125(i,j) & i55_150(i,j) & i55_175(i,j) & i55_200(i,j) ) Q_55(i,j)=5; else if (i55_100(i,j) & i55_125(i,j) & i55_150(i,j) & i55_175(i,j)) Q_55(i,j)=4; else if (i55_100(i,j) & i55_125(i,j) & i55_150(i,j)) Q_55(i,j)=3; else if (i55_100(i,j) & i55_125(i,j)) Q_55(i,j)=2; else if (i55_100(i,j)) Q_55(i,j)=1; else Q_55(i,j)=0; end end end end end end end mse_51 = edgeerror(Q_5, Q_51); mse_52 = edgeerror(Q_5, Q_52); mse_53 = edgeerror(Q_5, Q_53); mse_54 = edgeerror(Q_5, Q_54); mse_55 = edgeerror(Q_5, Q_55); lap1 = mserror(XY1, XY2); lap2 = mserror(XY1, XY3); lap3 = mserror(XY1, XY4); lap4 = mserror(XY1, XY5); lap5 = mserror(XY1, XY6); Pratt51=edpm_yalin(i5_100,i51_100); Pratt52=edpm_yalin(i5_100,i52_100); Pratt53=edpm_yalin(i5_100,i53_100); Pratt54=edpm_yalin(i5_100,i54_100); Pratt55=edpm_yalin(i5_100,i55_100); fp=fopen('edgestability.txt','a+t'); fprintf(fp,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f \n',mse_51,mse_52,mse_53,mse_54,mse_55,Pratt51,Pratt52,Pratt53,Pratt54,Pratt55,lap1,lap2,lap3,lap4,lap5); fclose(fp); clear