• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签: matlab  

资源简介

图像质量评价matlab代码,在此分享 图像质量评价matlab代码,在此分享 图像质量评价matlab代码,在此分享

资源截图

代码片段和文件信息

function [absdiff snr psnr imfid msediffentropy] = compare(originalimg restoredimg)
%Function to compare the original image with the
%restored image using some predefined methods
%Inputs: originalimg restoredimg
%Returns: absdiff snr psnr imfid mse
%
%originalimg:  It is the original unblurred image
%restoredimg:  It is the restored image
%absdiff:      Average Absolute Difference
%snr:          Signal to Noise Ratio (dB)
%psnr:         Peak Signal to Noise Ratio (dB)
%imfid:        Image Fidelity(逼真度)
%mse:          Mean Square Error
%diffentropy:  The difference  between restoredimg entroy and  originalimg
%              entroy
%
%Example:
%      [absdiff snr psnr imfid mse] = compare(originalimg restoredimg);
%      This call takes original image and the restored image and returns
%      the comparison of both the images using some predefined methods.

%Average absolute difference
%
md = originalimg - restoredimg;
mdsize = size(md);
summation = 0;
for i = 1:mdsize(1)
    for j = 1:mdsize(2)
        summation = summation + abs(md(ij));
    end
end

absdiff = summation/(mdsize(1)*mdsize(2));
%}


%Signal to Noise Ratio (SNR)
%
md = (originalimg - restoredimg).^2;
mdsize = size(md);
summation = 0;
sumsq=0;
for i = 1:mdsize(1)
    for j = 1:mdsize(2)
        summation = summation + md(ij);
        sumsq = sumsq + (originalimg(ij)^2);
    end
end

snr = sumsq/summation;
snr = 10 * log10(snr);
%}


%Peak Signal to Noise Ratio (PSNR)

md = (originalimg - restoredimg).^2;
mdsize = size(md);
summation = 0;
for  i = 1:mdsize(1)
    for j = 1:mdsize(2)
        summation = summation + abs(md(ij));
    end
end

psnr = size(originalimg 1) * size(originalimg 2) * max(max(originalimg.^2))/summation;
psnr = 10 * log10(psnr);
%}


%Image Fidelity

md = (originalimg - restoredimg).^2;
mdsize = size(md);
summation = 0;
sumsq = 0;
for  i = 1:mdsize(1)
    for j = 1:mdsize(2)
        summation = summation + abs(md(ij));
        sumsq = sumsq + (originalimg(ij)^2);
    end
end

imfid = (1-summation)/sumsq;
%}


%Mean Square Error
%
diff = originalimg - restoredimg;
diff1 = diff.^2;
mse = mean(mean(diff1));
%}


%Entropy
%
diffentropy = entropy(restoredimg) - entropy(originalimg);
%}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2244  2009-10-15 11:40  图像质量评价MatlAB程序\Compare.asv

     文件       2328  2009-10-15 11:42  图像质量评价MatlAB程序\Compare.m

     目录          0  2009-10-16 21:27  图像质量评价MatlAB程序

----------- ---------  ---------- -----  ----

                 4572                    3


评论

共有 条评论