将2D转换为具有不同尺寸的2D矩阵

时间:2012-10-30 07:46:47

标签: matlab

我在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吗?

1 个答案:

答案 0 :(得分:0)

鉴于您使用的函数没有保持矩阵原始大小的句柄(例如conv2可以选择使用(conv2(Image,filer,'same'))输出相同的大小,您可以随时快速执行此操作和脏修复:

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

其余的将跟随......