error-Cannot support cell array

5 次查看(过去 30 天)
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);

采纳的回答

Walter Roberson
Walter Roberson 2012-2-6
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 个评论
Walter Roberson
Walter Roberson 2012-2-7
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 2012-2-7
Walter can u please tell how to do it ,am struck dont know how to proceed plz

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by