How to iterate through a struct ?

43 visualizaciones (últimos 30 días)
RuiQi
RuiQi el 9 de Nov. de 2018
Editada: Matt J el 9 de Nov. de 2018
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)

Respuestas (2)

Image Analyst
Image Analyst el 9 de Nov. de 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 el 9 de Nov. de 2018
Editada: Matt J el 9 de Nov. de 2018
for i=1:numel(im_filenames)
print(im_filenames.name, im_filenames.folder)
end
  2 comentarios
RuiQi
RuiQi el 9 de Nov. de 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 el 9 de Nov. de 2018
Editada: Matt J el 9 de Nov. de 2018
It's nothing to do with the loop. Use dir() to get only the folder contents that are file names.

Iniciar sesión para comentar.

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by