How to iterate through a struct ?

How can i iterate through a struct in matlab ? Here is my code that does not work
im_filenames = dir('./JAAD_frames/video_0001/');
for name,foldername in im_filenames:
print(name, foldername)

Réponses (2)

Image Analyst
Image Analyst le 9 Nov 2018
Try this:
filesStructure = dir('./JAAD_frames/video_0001/*.*')
allFileNames = {filesStructure(:).name}
for k = 1 : length(allFileNames)
fprintf('allFileNames{%d} = %s\n', k, allFileNames{k});
end
Matt J
Matt J le 9 Nov 2018
Modifié(e) : Matt J le 9 Nov 2018

0 votes

for i=1:numel(im_filenames)
print(im_filenames.name, im_filenames.folder)
end

2 commentaires

Very clean solution but I get this error
Error using inputcheck
Multiple inputs that look like file names: '.' and '..'.
Error in print (line 41)
[pj, devices, options ] = inputcheck( pj, inputargs{:} );
Error in untitled (line 6)
print(im_filenames.name, im_filenames.folder)
Matt J
Matt J le 9 Nov 2018
Modifié(e) : Matt J le 9 Nov 2018
It's nothing to do with the loop. Use dir() to get only the folder contents that are file names.

Connectez-vous pour commenter.

Catégories

Tags

Question posée :

le 9 Nov 2018

Modifié(e) :

le 9 Nov 2018

Community Treasure Hunt

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

Start Hunting!

Translated by