0

我在 Matlab 中加载了具有以下属性的图像:

 Name(X)   , Size (512x512)  , Bytes (262144)  , Class(uint8) ,  

我添加了高斯噪声并使用小波变换去除了该噪声。通过进行逆小波变换,我得到了最终的输出图像:

Name(Xsyn) , Size (504x504)  , Bytes (2032128) , Class(Double)

现在我试图通过使用计算信噪比(SNR)

SNR = 20*log10(norm(X(:))/norm(X(:)-Xsyn(:)));

但它显示以下错误:

??? Error using ==> minus
Matrix dimensions must agree.

所以我认为我应该改变最终图像的矩阵尺寸(Xsyn)。现在如何将图像的矩阵尺寸Xsyn(504x504)更改为Xsyn尺寸(512x512)?

还是有其他方法可以找出 SNR?

4

1 回答 1

0

鉴于您使用的函数没有保持矩阵原始大小的句柄(例如 conv2 可以使用 ( conv2(Image,filer,'same')) 输出相同大小的选项,您总是可以快速而肮脏地修复:

 X=imresize(X,size(Xsyn));

其余的将随之而来……

于 2012-10-30T08:23:42.887 回答