Как восстановить изображение с помощью только горизонтального коэффициента вейвлет-преобразования?
Я пытаюсь восстановить входное изображение только с горизонтальными коэффициентами стационарного вейвлет-преобразования.
[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');