我在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吗?
答案 0 :(得分:0)
鉴于您使用的函数没有保持矩阵原始大小的句柄(例如conv2可以选择使用(conv2(Image,filer,'same')
)输出相同的大小,您可以随时快速执行此操作和脏修复:
X=imresize(X,size(Xsyn));
其余的将跟随......