Double loop over images
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
george korris
am 28 Apr. 2021
Kommentiert: george korris
am 10 Mai 2021
Hi guys! So i have this question: is there a way to double loop a lot of images?
What i mean is that i know how to loop over a lot of images (of the same type for example .png) lets say i have the next 10 images with names: c1=10.2 , c2=10.2 up to c10=10.2 with the next lines of code i can read them all and do what i want next with them
for n=1:10
images{n} = imread(sprintf('c%d=10.2.png',n));
%code ....
end
but if i lets say want to loop over this for loop and have lets say a code that for the numbers 10 30 50 70 and 100 reads firstly the images with names c1=10.2 up to c10=10.2 and then does the previous for loop and when that for loop is done does the same thing for the c1=30.2 up to c10=30.2 and then for 50 and then 70 and then finally for 100 c1=100.2 up to c10=100.2 .
so it will read
c1=10.2 .... c10=10.2 and then read all the images c1=30.2 up to c10=30.2 and then c1=50.2 up to c10=50.2 and then c1=70.2 ... c10=70.2 and finally c1=100.2 .... c10=100.2
I hope i expained it well !
5 Kommentare
Jan
am 28 Apr. 2021
Just try it:
for m=10:20:70
for n=1:10
sprintf('c%d=%d.2.png',n,m)
end
end
Akzeptierte Antwort
Image Analyst
am 28 Apr. 2021
Try this:
folder = pwd;
% Now we have a list of all the filenames.
% Now how another loop that reads in one image with names like 10, 30, 50, ...
% and an inner loop that does 1-10.
outLoopValues = [10, 30, 50, 70, 100] % Whatever values you want.
for k = 1 : length(outLoopValues)
index = outLoopValues(k);
for n = 1 : 10
thisBaseFileName = sprintf('c%d=%d.2.png', n, index);
thisFileName = fullfile(folder, thisBaseFileName);
if isfile(thisFileName)
fprintf('Processing "%s"\n', thisFileName);
% Code to call imread and process this image ...
else
% File doesn't exist.
fprintf(' !!!! Skipping non-existent file: "%s"\n', thisFileName);
continue;
end
end
fprintf('\n'); % Print blank line between groups.
end
fprintf('Done running %s.m\n', mfilename);
3 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Image Processing and Computer Vision finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!