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)

Antworten (2)

Image Analyst
Image Analyst am 9 Nov. 2018

1 Stimme

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 am 9 Nov. 2018
Bearbeitet: Matt J am 9 Nov. 2018

0 Stimmen

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

2 Kommentare

RuiQi
RuiQi am 9 Nov. 2018
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 am 9 Nov. 2018
Bearbeitet: Matt J am 9 Nov. 2018
It's nothing to do with the loop. Use dir() to get only the folder contents that are file names.

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Gefragt:

am 9 Nov. 2018

Bearbeitet:

am 9 Nov. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by