convert to 2d to 3d
Show older comments
The image data in which the numeric data is written is 2d.
(3404 * 2403 size) images want to save 60 images by cutting to 340 * 40 size. That is, 340 * 60 sizes should be stored in 60 dimensions.
What method should I use?
Answers (2)
Walter Roberson
on 23 Nov 2018
Edited: Walter Roberson
on 23 Nov 2018
reshape(Image(1:340,1:2400),340,40,60)
Andrei Bobrov
on 23 Nov 2018
Edited: Andrei Bobrov
on 23 Nov 2018
0 votes
Let A - your image with size [3400 x 2400],
size of small image -> [340 x 40].
p = 340;
n = 40;
[q,w] = size(A);
out = squeeze(permute(reshape(A,p,q/p,n,[]),[1,3,4,2]));
or with mat2cell:
p = 340;
n = 40;
[q,w] = size(A);
C = mat2cell(A,p*ones(q/p,1),n*ones(w/n,1))';
out = cat(3,C{:});
Categories
Find more on Image Arithmetic 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!