Как реконструировать изображение только с горизонтальным коэффициентом вейвлет-преобразования?

Я пытаюсь восстановить входное изображение только с горизонтальными коэффициентами стационарного вейвлет-преобразования.

[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);

Как я могу решить эту проблему?


person Jne_098    schedule 08.12.2016    source источник


Ответы (1)


Вы пропустили верхнюю строку сообщения об ошибке, которая дает понять, в чем проблема:

Показатель превышает размеры матрицы.

Проблема в том, что вы не можете просто установить матрицу в скаляр 0, вы должны установить всю матрицу в нули, чтобы она по-прежнему имела тот же размер, что и H. Это будет работать:

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