dwt3d instruction returns with error saying filter H must be a double precision filter
Show older comments
when i try to run the following example code for dwt3D
[af, sf] = farras;
x = rand(128,64,64);
w = dwt3D(x,3,af);
y = idwt3D(w,3,sf);
err = x-y;
max(max(max(abs(err))))i get an error saying
Error using upfirdn>validateinput (line 104) The filter H must be a double-precision vector.
Error in upfirdn (line 81) [p,q] = validateinput(x,h,varargin);
Error in afb3D_A (line 41) lo(:, :, k) = upfirdn(x(:, :, k), lpf, 1, 2);
Error in afb3D (line 36) [L, H] = afb3D_A(x, af1, 1);
Error in dwt3D (line 27)
[x w{k}] = afb3D(x, af, af, af);
i have all the required function files with me in the current folder of MATLAB
10 Comments
Walter Roberson
on 19 Apr 2018
Amit Singh
on 19 Apr 2018
Walter Roberson
on 19 Apr 2018
That code works for me in R2018a.
Amit Singh
on 19 Apr 2018
Amit Singh
on 19 Apr 2018
Walter Roberson
on 19 Apr 2018
I just tested in both R2017b and R2013a, and the code works fine for me.
After you execute that first line of code,
[af, sf] = farras;
what shows up for
class(af)
? It should show up as double(), and if it does not then you are not using the farras.m that is provided with the code.
Amit Singh
on 20 Apr 2018
Walter Roberson
on 20 Apr 2018
What shows up for
which farras which dwt3D
Amit Singh
on 20 Apr 2018
Accepted Answer
More Answers (0)
Categories
Find more on Images in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!