error-Cannot support cell array

5 views (last 30 days)
kash
kash on 6 Feb 2012
I have a code for dual tree and reducing the co-efficients but i get error,please help
error is
Error using ==> cell2mat at 55
Cannot support cell arrays containing cell arrays or objects.
Error in ==> final at 9
w=cell2mat(w)
x=imread('st.tif');
x1=rgb2gray(x)
x=double(x1)
J = 3;
[Faf, Fsf] = FSfarras;
[af, sf] = dualfilt1;
w = dualtree2D(x, J, Faf, af)
threshold=0.624525
w=cell2mat(w)
NewData = w;
idx = w >= threshold;
NewData(idx) = threshold - eps(threshold);
size(I);
size(NewData);

Accepted Answer

Walter Roberson
Walter Roberson on 6 Feb 2012
That's because your cell array output, w, contains cell arrays within it.
Go back to your dualtree2D source code, and read the paragraph that begins,
The wavelet coefficients w are stored as a cell array.
  5 Comments
Walter Roberson
Walter Roberson on 7 Feb 2012
If all the dimensions are not equal, then you will need to specify the output format you want.
If all the dimensions are equal at all levels, start at the innermost cell and cell2mat that, and having done that for all of the cells, go up one level and cell2mat _that_ and do that for all the cells at that level... then go to the level above and cell2mat again... and keep going until you end up with just a matrix.
kash
kash on 7 Feb 2012
Walter can u please tell how to do it ,am struck dont know how to proceed plz

Sign in to comment.

More Answers (0)

Categories

Find more on Programming 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!