如何仅用小波变换的水平系数重构图像?

时间:2016-12-08 13:35:21

标签: image matlab image-processing wavelet wavelet-transform

我试图仅使用平稳小波变换的水平系数来重建输入图像。

[A,H,V,D ] = swt2(x,1,'sym4');

A = 0; V = 0; D = 0; %i am setting other co-efficents to zero since i am only intersted in the values of H %

Y = iswt2(A,H,V,D,'sym4') ; %this gives the following error below%
  

iswt2/reconsLOC中的错误(第153行)   
ca(sR,sC)ch(sR,sC,k)cv(sR,sC,k)cd(sR,sC,k),...   
iswt2(第122行)a = reconsLOC(a,h,v,d);

出错

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您已经省略了错误消息的第一行,这样就可以找出问题所在:

  

指数超出矩阵维度。

问题在于您无法将矩阵设置为标量0,您必须将整个矩阵设置为零,以便它仍然具有相同的值大小为H。这将有效:

A(:) = 0;  % Fills every element of A with zero
V(:) = 0;
D(:) = 0;
Y = iswt2(A, H, V, D, 'sym4');