what does . and .. refer to

for i = 1:size(TrainFiles,1)
if not(strcmp(TrainFiles(i).name,'.')|strcmp(TrainFiles(i).name,'..')|strcmp(TrainFiles(i).name,'Thumbs.db'))
Train_Number = Train_Number + 1; % Number of all images in the training database
name{Train_Number}=TrainFiles(i).name;
end

1 commentaire

Walter Roberson
Walter Roberson le 26 Jan 2020
User completely changed the question. However, the revised question is valid in itself.

Connectez-vous pour commenter.

Réponses (2)

Image Analyst
Image Analyst le 26 Jan 2020

0 votes

It's checking to make sure that the file is not the current folder (dot) or a link to the parent folder (dot dot).

3 commentaires

Actually, since it's just building up a cell array of image files, you'd be better off doing this:
% Get a list of all PNG image files in the specified folder.
filePattern = fullfile(yourImageFolder, '*.png') % Or whatever your image extension is
fileStructure = dir(filePattern) % Get info from all PNG files into a strcuture array.
% Now extract all the names from the file structure fields into a single cell array:
allFileNames = {fileStructure.name}
I would use
allFileNames = fullfile(yourImageFolder, {fileStructure.name});
Image Analyst
Image Analyst le 27 Jan 2020
Yes. Or you could even use imDatastore().

Connectez-vous pour commenter.

Steven Lord
Steven Lord le 26 Jan 2020

0 votes

For the operating systems on which MATLAB is supported, . refers to the current directory and .. the parent directory, as stated on this Wikipedia page.

Catégories

En savoir plus sur File Operations dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by