Reshape image cell array

64 views (last 30 days)
Joshitha R
Joshitha R on 16 Apr 2020
Commented: Joshitha R on 23 Apr 2020
I have a 1x 225 cell array called 'p'
Each cell has a 434x625x3 rgb image .
I would like to reshape this 'p' to now be of size 434x625x3x15x15
I tried the following
p = load('images.mat').images; %size(p) = 1x 225
pp = reshape(p , [15 15]); %size(pp) = 15x15
pnew = cell(434,625,3,15,15);
for i = 1:15
for j = 1:15
pnew{:,:,:,i,j} = pp{i,j};
But it does not work .
I know that reshaping as 434x625x3x15x15 will redristube the pixels to completely different locations, that is exactly how I need them.

Accepted Answer

Jyotsna Talluri
Jyotsna Talluri on 20 Apr 2020
Convert the cell array into Matrix and then reshape the matrix to required dimensions.
p = [c{:}];
pp = reshape(p, [384 512 3 15 15]);
Hope this helps!
  1 Comment
Joshitha R
Joshitha R on 23 Apr 2020
Yes this works ! thanks

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by