Why does ISWT2 (R2017a) fail for coefficients in single precision?
이전 댓글 표시
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?
채택된 답변
추가 답변 (1개)
Ankit Bhatnagar
2017년 5월 16일
0 개 추천
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
Walter Roberson
2017년 5월 16일
No, it's just a bug. Have a look at my Answer.
카테고리
도움말 센터 및 File Exchange에서 多重信号解析에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!