psnr.m

来自「一个用matlab写的对图象处理方面的函数」· M 代码 · 共 24 行

M
24
字号
function mySNR = psnr(img_A, img_B)
%psnr.m
[hight,width,dimension] = size(img_A);
sub_img = imsubtract( img_A, img_B);
sub_img = double(sub_img);
sub_img = sub_img .* sub_img;%do square

%square_img = sub_img .* sub_img;
Total = 0;
for j = 1 : hight        
    for i = 1 : width
    Total = Total + sub_img(j,i);        
%    Total = Total + square_img(j, i );    
    end
end

Pixels = hight * width;
Total = Total / Pixels;
up = 255 * 255;
mySNR = 99.99; 
if Total > 0
    SNR = up / Total;
    mySNR = 10 * log10(SNR);
end  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?