Changing Cell Array Dimension
Show older comments
Please I have a cell array as below but need it to be in 2 dimension, that is m-by-n instead of m-by-n-by-p.
segmented_images =
Columns 1 through 3
[2592x4608x3 unit8] [2592x4608x3 unit8] [2592x4608x3 unit8]
Columns 4 through 6
[2592x4608x3 unit8] [2592x4608x3 unit8] [2592x4608x3 unit8]
Thank you.
Accepted Answer
More Answers (1)
Image Analyst
on 19 Sep 2014
What you said makes no sense. It's a 1D cell array. You can reshape it into a 2D array with reshape
segmented_images = reshape(segmented_images, [m,n]);
Saying "m-by-n instead of m-by-n-by-p." is nonsense because, like I said, the cell array is 1 by 6 not "m-by-n-by-p". The contents of a cell array are independent of the dimensions of the cell array itself. Think of a cell array as an array of buckets, with each cell being one bucket. Now you can thrown whatever you want into any of the buckets: strings, 2D or 3D arrays, structures, tables, or whatever you want, but that doesn't affect the arrangement of the buckets (how many buckets there are or how many rows or columns of buckets there are). See the FAQ for a better explanation. http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
4 Comments
Image Analyst
on 19 Sep 2014
By the way, why is this tagged with "color segmentation"? I have demos for that in my File Exchange if you're interested: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
bayoishola20
on 20 Sep 2014
Edited: bayoishola20
on 20 Sep 2014
Image Analyst
on 20 Sep 2014
I don't have the Statistics Toolbox so I can't run kmeans.
bayoishola20
on 20 Sep 2014
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!