Files in different folders

If you have 12 different folders (that each contain pictures), is there a way to create a loop that will sum up the first images in all the folders, and the sum of the second images in all the folders, etc... for all the images?

Réponses (3)

Azzi Abdelmalek
Azzi Abdelmalek le 31 Mai 2013

0 votes

folders={f1,f2,f3}; % your folders
for k=1:numel(folders)
f=dir([folders{k} '/*.jpg']);
files{k}={f.name};
end
for ii=1:numel(files{1});
im{ii}=0;
for jj=1:numel(files)
im{ii}=im{ii}+imread(files{jj}{ii});
end
end
Image Analyst
Image Analyst le 31 Mai 2013

0 votes

You can take the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F and adapt it to use genpath() to get all subfolders.

2 commentaires

Jenna
Jenna le 1 Juin 2013
My problem is that I want to read in the files using imread, which will create a matrix with data about the pixels. I also want to read in data for 135 pictures. How do I create a scenario where I will have an array of 135 x 1, where each row will actually be its own matrix of data on pixels?
If they're grayscale:
oneRow = grayImage(theRowNumber, :);
If they're color
oneRowRed = rgbImage(theRowNumber, :, 1);
oneRowGreen = rgbImage(theRowNumber, :, 2);
oneRowBlue = rgbImage(theRowNumber, :, 3);

Connectez-vous pour commenter.

Question posée :

le 31 Mai 2013

Community Treasure Hunt

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

Start Hunting!

Translated by