For loop doesnt terminate-kindly help
Afficher commentaires plus anciens
Hi, I have written a code to apply a random crop for a set of three images stored in a folder '1' at D: drive and store it in a separate folder named 'chrom-randcrop1' in the same drive. The code is as follows:
myFolder = 'D:\1';
% Check to make sure that folder actually exists. Warn user if it doesn't.
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
% Get a list of all files in the folder with the desired file name pattern.
filePattern = fullfile(myFolder, '*.bmp');
theFiles = dir(filePattern);
mkdir('D:\chrom-randcrop1')
% image processing-random cropping of a 100*100 image from the input image
for k = 1 : length(theFiles)
baseFileName = theFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
imageArray = imread(fullFileName);
imageArray5=random_square_grab(imageArray,100);
baseOutputFileName = sprintf('randcrop100_1(%d).bmp', k);
outputFolder = 'D:\chrom-randcrop1';
fullOutputFileName = fullfile(outputFolder, baseOutputFileName);
imwrite(imageArray5, fullOutputFileName)
end
dir D:\chrom-randcrop1
The issue is the loop doesn't terminate. The folder is created but then the loop remains busy. Kindly help me with the corrections in this code. Thanks.
1 commentaire
Star Strider
le 28 Jan 2017
What is the result of only running:
length_theFiles = length(theFiles)
return % Stop The Script (Delete Later)
before the loop.
Réponse acceptée
Plus de réponses (1)
Jan
le 28 Jan 2017
The issue is the loop doesn't terminate.
Strange. What does happen instead? Does Matlab convert millions of files? Or does the code of random_square_grab contain an infinite loop? Where does Matlab stop, when you hit Ctrl-C?
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!