Why does ISWT2 (R2017a) fail for coefficients in single precision?
Show older comments
ISWT2 (R2017a) seems not to work properly for coefficients in single precision. The code below fails only for the single precision case.
nLevels = 1;
%%For image in double
X = im2double(imread('cameraman.tif'));
C = swt2(X,nLevels,'haar');
Y = iswt2(C,'haar');
psnr(Y,X)
%%For image in single
X = im2single(imread('cameraman.tif'));
C = swt2(X,nLevels,'haar');
Y = iswt2(C,'haar'); % <- error
psnr(Y,X)
Why does this phenomenon happen?
Accepted Answer
More Answers (1)
Ankit Bhatnagar
on 16 May 2017
0 votes
Hi,
The ISWT2 works only with double precision as it uses functionality which expects the value to be double. Kindly use the double precision for this function.
1 Comment
Walter Roberson
on 16 May 2017
No, it's just a bug. Have a look at my Answer.
Categories
Find more on イメージ解析 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!