Reshape image cell array

24 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};
end
end
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!

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!