1、function result_epi=myEpi(img_before,img_after)
% 计算一副图像的边缘保持指数EPI(Edge Protect Index),EPI越接近1,说明算法的边缘保持能力越强。
% img_before表示原始图像(这里考虑标准图像,其他的话也可以考虑一下去噪前的图像,C实现的时候,考虑到平台需求,用的是去噪前的图像)
% img_after表示去噪后的图像
% 根据《基于多小波域Besov球映射的SAR图像去噪算法》
% 其他出处:《基于改进的小波软阈值法的SAR图像去噪》
img_before=double(img_before);
img_after=double(img_after);
[height,width]=size(img_before);
sum1=0;
sum2=0;
%去噪前
for i=1:height %水平
for j=1:width-1
sum1=sum1+abs(img_before(i,j)-img_before(i,j+1));
end
end
for i=1:height-1 %垂直
for j=1:width
sum1=sum1+abs(img_before(i,j)-img_before(i+1,j));
end
end
%去噪后
for i=1:height %水平
for j=1:width-1
sum2=sum2+abs(img_after(i,j)-img_after(i,j+1));
end
end
for i=1:height-1 %垂直
for j=1:width
sum2=sum2+abs(img_after(i,j)-img_after(i+1,j));
end
end
sum1=double(sum1);
sum2=double(sum2);
result_epi=sum2/sum1;
disp('边缘保持指数');disp(result_epi);
2、function result_enl = myEnl(img_roi)
%等效视数ENL myEnl Summary of this function goes here
img_roi=double(img_roi);
u1=mean2(img_roi);
std1=std2(img_roi);
result_enl=(0.5227*u1/std1).^2;
fprintf('等效视数是 %6.3f \n',result_enl);
3、
function diaf1=mydia(img_before)
% 计算一副图像的平滑保持指数,反映了对图像的平滑作用,0到1。
% img_before表示原始图像(这里考虑标准图像,其他的话也可以考虑一下去噪前的图像,C实现的时候,考虑到平台需求,用的是去噪前的图像)
% img_after表示去噪后的图像
A=double(img_before);
%B=double(img_after);
u1=mean2(A);
std1=std2(A);
diaf1=(u1/std1);
fprintf('平滑指数是 %6.3f\n',1/diaf1);
4、function PS=PNSR(img_before,img_after)
img_ref=double(img_before);
img_den=double(img_after);%峰值信噪比和均方误差%Peak Signal to Noise Ratio(PSNR)
width = size(img_ref,2);
heigh = size(img_ref,1);
if( width ~= size(img_den,2) || heigh ~= size(img_den,1) )
disp('Please check the input image have the same size');
return
end
[a,b]=size(img_ref);
XX2=double(img_ref) - double(img_den);
mse_value2 = sum(sum( XX2.^2 ))/(a*b);
PS = 10*log10( 255*255 / mse_value2 ); %get pnsr
fprintf('峰值信噪比是%6.4f',PS);
fprintf('均方误差是%6.4f',mse_value2);