Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-10-21
年龄: 43
帖子: 2
声望力: 0 ![]() |
![]()
以下是我写的一个计算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 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
回复lz 按照《数字图像处理》上的理论 这样子是不能计算PSNR的 我想如果你要计算的话 只能通过压缩比计算一下熵之类的 如果要计算 建议把重构后图像降维至与原图像同样的大小
PS:你的重构是怎么做的 如果可以 能否简单介绍一下 size怎么会变大了呢? 是不是interpolation或者是重新sampling了 |
![]() |
![]() |