Why does ISWT2 (R2017a) fail for coefficients in single precision?
Mostrar comentarios más antiguos
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?
Respuesta aceptada
Más respuestas (1)
Ankit Bhatnagar
el 16 de Mayo de 2017
0 votos
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 comentario
Walter Roberson
el 16 de Mayo de 2017
No, it's just a bug. Have a look at my Answer.
Categorías
Más información sobre 多重信号解析 en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!