Does wavedec2 and waverec2 support complex valued array inputs?
2 次查看(过去 30 天)
显示 更早的评论
I'm trying to use the wavedec2 and waverec2 functions on a complex valued image and I'm finding that the reconstructed image is not match the input image. Using dwt2 and idwt2 seems to work with the same complex valued array however.
%% works
[cA,cH,cV,cD] = dwt2(Image,'haar');
test = idwt2(cA,cH,cV,cD,'haar');
norm(Image - test,2) %% returns 1.27e-12
%% does not work
[c,s] = wavedec2(Image,1,'haar');
test = waverec2(c,s,'haar');
norm(Image - test,2) %% returns 6.79e+03
0 个评论
回答(1 个)
Walter Roberson
2023-4-19
The documentation for wavedec2() does not say that the input, X, must be real-valued.
However, the output vector is defined as being real-valued, and is defined as having a particular size, and those conditions together imply that you cannot reconstruct a complex matrix
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!