Does wavedec2 and waverec2 support complex valued array inputs?
古いコメントを表示
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
回答 (1 件)
Walter Roberson
2023 年 4 月 19 日
0 投票
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
1 件のコメント
Johnathan Le
2023 年 4 月 19 日
編集済み: Johnathan Le
2023 年 4 月 19 日
カテゴリ
ヘルプ センター および File Exchange で Image Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!