reading multiple images from a folder in Matlab
32 views (last 30 days)
Show older comments
I want to read many images from a folder in the Matlab directory using imread() and then make different operations in every image individually , i wrote this code but it disagrees about (+k+):
num_file=1;
file = dir('image.orig');
num_file = numel(file);
NF=num_file;
Y=1;Z=1;
images = cell(1,NF,T);
T=cell(Y,Z,3);
for k = 1:NF
images{1,k}(Y,Z,3) = imread('C:Work\image.orig\'+k-1+'.JPEG');
end
also, i want to save the matrix of each image in a cell array and i don't if what i wrote is right or not and i cannot have a permission to read from the folder, i checked the folder and found that it is read only, what do you think?
Thank you in advance
0 Comments
Accepted Answer
Walter Roberson
on 7 Nov 2011
file = dir('image.orig');
NF = length(file);
images = cell(NF,1);
for k = 1 : NF
images{k} = imread(fullfile('image.orig', file(k).name));
end
8 Comments
Walter Roberson
on 10 Nov 2011
I would put a breakpoint in and check each step -- for example, does file come out empty?
Check to be sure that you have not accidentally created your own dir.m or imread files:
which -all dir
which -all imread
More Answers (4)
Image Analyst
on 8 Nov 2011
It's always worth throwing in a plug for the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F
0 Comments
yasmine
on 8 Dec 2011
6 Comments
Walter Roberson
on 9 Dec 2011
I think this should definitely have gone in its own thread ;-)
You are trying to apply imhist() to a (subsection of) a truecolor image (which is thus a 3D matrix). imhist() is only for grayscale images. You should convert your whole image to grayscale before you break it up in to blocks; or you should convert each block to grayscale and imhist that as you go; or you should imhist() each of the three color planes separately.
Shaveta Arora
on 9 Apr 2016
If I have .tiff images and .tif images that I want to read, how they can be read ? I know how to read one type of images but how to read two types of images.
4 Comments
Emily Leung
on 18 Jun 2021
@Walter Roberson i solved the issue, thank you very much this approach saved me many an if loop!
Kumar Vaibhav
on 1 Aug 2016
Edited: Walter Roberson
on 1 Aug 2016
I=imread(sprintf('C:/Users/kumar.vaibhav/Documents/MATLAB/Visually Similar Images/%d.jpeg',i));
1 Comment
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!