MATLAB: Read Image sequences in order

faq

Hello everyone, I am trying to read the image sequences. Images are named as Img_1, Img_2,….,Img_10. I am reading the images one by one as follows:
m=1;
while(m <= length(Images))
Frame1 = [Imgdir '/' Images(m).name];
curr_frame1=imread(Frame1);
m=m+1;
end
But It reads Img_10 first and then Img_1. Why? I want to read the image in sequence.Please help.

Best Answer

Hi, there is no need to use while (however your code should work), for is more appropriate in this case.
for m=1:length(Images)
Frame1 = [Imgdir '/' Images(m).name];
curr_frame1=imread(Frame1);
end
It depends how your structure Images is designed. Under Images(1).name could be Img_10 and not Img_1. So to be absolutely shure, try this:
for m=1:length(Images)
Frame1 = [Imgdir '/' 'Img_' num2str(m)];
curr_frame1=imread(Frame1);
end