登录论坛

查看完整版本 : [求助]两张尺寸大小不同的图像能直接比较PSNR吗?


bjxiaohua
2009-03-09, 17:40
以下是我写的一个计算PSNR的小程序,当时没考虑到两张图片大小不同,现在用radon重构图像后得到的尺寸(245*245)比原始图像(171*171)大,怎么求两张图片的PSNR值呢?
function S=PSNR(I,J)
if (size(I)~=size(J))
error('Size mismatch!')
end
if (~isrgb(I) & ~isrgb(J))
[m n] = size(I);
A=double(I);
B=double(J);
sumaDif=0;
maxI=m*n*max(max(A.^2));
sumaDif=sum(sum((A-B).^2));
if (sumaDif==0)
sumaDif=1;
end
S=maxI/sumaDif;
S=10*log10(S);
else
error('Las imagenes no pueden ser en color')
end

silas_xue
2009-03-10, 00:47
回复lz 按照《数字图像处理》上的理论 这样子是不能计算PSNR的 我想如果你要计算的话 只能通过压缩比计算一下熵之类的 如果要计算 建议把重构后图像降维至与原图像同样的大小

PS:你的重构是怎么做的 如果可以 能否简单介绍一下 size怎么会变大了呢? 是不是interpolation或者是重新sampling了