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

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

[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Вы должны установить всю матрицу в нули, чтобы она все еще имела такой же размер, как H, Это будет работать:

A(:) = 0;  % Fills every element of A with zero
V(:) = 0;
D(:) = 0;
Y = iswt2(A, H, V, D, 'sym4');
Другие вопросы по тегам