How do I read multiple images into matlab and save them in cells?

3 views (last 30 days)
So I have 10 images at the working directory(which is desktop) and named them as image1.jpg, image2.jpg, ... image10.jpg and I want to load into matlab and save them in cells. But apparently it saves the first image, but fails to do the same for the rest.
photo=cell(1,10);
for i=1:10
filename=['image',num2str(i),'.jpg'];
photo{i}=imread(filename);
end
and I get errors like:
Error using imread>get_full_filename (line 481) File "image2.jpg" does not exist.
Error in imread (line 344) filename = get_full_filename(fid, errmsg, filename);
Error in Untitled (line 5) photo{i}=imread(filename);
what should I do to make it work?
  2 Comments
Preethi
Preethi on 12 Dec 2016
hi,
can you debug and see the filename or you can try reading the image2 file separately to check if there is any issue..
Kenny Suh
Kenny Suh on 12 Dec 2016
Ugh, I checked if loading image2 worked separately. Apparently, it was the file format issue. The image2 file was .png format, not .jpg format. Thanks for reminding me of that! now it works :D

Sign in to comment.

Accepted Answer

Ahmet Cecen
Ahmet Cecen on 12 Dec 2016
This is not directly solving your problem, but if you use the following instead, it will either work, or help you better figure out what the problem is:
jpglist = dir('*.jpg'); % Find all jpg files in current directory.
photo=cell(1,length(jpglist));
for i=1:length(jpglist)
photo{i}=imread(jpglist(i).name);
end

More Answers (0)

Categories

Find more on Image Processing Toolbox 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!