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?

Antworten (2)

Walter Roberson
Walter Roberson am 23 Nov. 2018
Bearbeitet: Walter Roberson am 23 Nov. 2018

0 Stimmen

reshape(Image(1:340,1:2400),340,40,60)

2 Kommentare

sw park
sw park am 23 Nov. 2018
Thank you for Answer But It does not work properly.
I want this
example
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
(2*2) cutting
1 2
9 10 (:,:,1)
3 4
11 12 (:,:,2)
5 6
13 14 (:,:,3)
7 8
15 16(:,:,4)
17 18
25 26 (:,:,5)
Your answer will reshape the original 2D form to something other than what I want.
Walter Roberson
Walter Roberson am 23 Nov. 2018
see mat2cell

Melden Sie sich an, um zu kommentieren.

Andrei Bobrov
Andrei Bobrov am 23 Nov. 2018
Bearbeitet: Andrei Bobrov am 23 Nov. 2018

0 Stimmen

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{:});

Kategorien

Mehr zu Convert Image Type finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 23 Nov. 2018

Bearbeitet:

am 23 Nov. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by