Azzera filtri
Azzera filtri

how to create stack with multiple images?

16 visualizzazioni (ultimi 30 giorni)
Yunwei
Yunwei il 3 Ago 2023
Commentato: Yunwei il 3 Ago 2023
Hi all,
I have a series of images and I want to make stacks of the images. The dimension of the stack should be like 2490*2490*7.
Here is the code I worte.
b=cell(7,9);
I_max=cell(7,9);
I_stack_store=cell(9,1);
I_stack=zeros(2975,2975,7);
for t=1:9
for i=1:7
I=imread(['calibrate2-P01.00' num2str(t) '00' num2str(i) '.tif']);
b{i,t}=I;
I_max{i,t}=max(b{i,t},[],3);
I_stack(:,:,7)=I_max{:,t};
I_stack_store{t}=I_stack;
end
end
I_max is a 7x9 array with each cell one image. (e.g. 2490*2490)
I want to get every column (7 images) of I_max into a stack, resulting 9 stacks which can be stored into a new array.
There must be something wrong with my code because I did not have the image l want.
Can someone help?
Thanks a lot!

Risposta accettata

VBBV
VBBV il 3 Ago 2023
Modificato: VBBV il 3 Ago 2023
b=cell(7,9);
I_max=cell(7,9);
I_stack_store=cell(9,1);
for t=1:9
for i=1:7
I= rand(50,10,3);
b{i,t}=I;
I_max{i,t}=max(b{i,t},[],3);
I_stack(:,:,i)=I_max{i,t}; % I_stack(:,:,7) if you only want the 7th col
end
I_stack_store{t}=I_stack;
end
I_stack_store
I_stack_store = 9×1 cell array
{50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double} {50×10×7 double}
  6 Commenti
VBBV
VBBV il 3 Ago 2023
The code I shown will do what you want. Please see the output I shown.
Yunwei
Yunwei il 3 Ago 2023
Thanks!
I overlooked the difference between the code you shown and l attached in the first place.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by