loading multiple groundtruth .mat files
Afficher commentaires plus anciens
Hi and good day to all,
I have 8 ground truth labelled .mat files from videos done by the matlab labeller.
I am trying to load such and I am uncertain of the next move.
Can a profession assist me please?
I have gotten this far with google, here's my code!
Thank you in advance!!
filenames = {'Beat1GTruth.mat','Beat2GTruth.mat','Fight1GTruth.mat','Fight2GTruth.mat','Shoot1GTruth.mat'...
,'Shoot2GTruth.mat','Stab1GTruth.mat','Stab2GTruth.mat'};
for kk = 1:numel(filenames)
load(filenames{kk})
end
Réponses (1)
Always load into an output variable (which is a scalar structure), e.g.:
F = {'Beat1GTruth.mat', 'Beat2GTruth.mat', 'Fight1GTruth.mat', 'Fight2GTruth.mat', 'Shoot1GTruth.mat', 'Shoot2GTruth.mat', 'Stab1GTruth.mat', 'Stab2GTruth.mat'};
N = numel(F);
C = cell(1,N);
for kk = 1:N
S = load(F{kk}); % load into a structure
% you can do anything with the structure contents, e.g.:
C{kk} = S.somefield; % !!! use an appropriate fieldname !!!
end
See also:
8 commentaires
Matpar
le 13 Avr 2020
Matpar
le 13 Avr 2020
Matpar
le 13 Avr 2020
Unfortunately each .mat file contain a differently-named variable. In future I strongly recommend that each .mat file should contain exactly the same variable names, this makes processing them in a loop easier and more robust.
Here is a work-around for your example files:
F = {'Beat1GTruth.mat', 'Beat2GTruth.mat', 'Fight1GTruth.mat', 'Fight2GTruth.mat', 'Shoot1GTruth.mat', 'Shoot2GTruth.mat', 'Stab1GTruth.mat', 'Stab2GTruth.mat'};
N = numel(F);
C = cell(1,N);
for kk = 1:N
S = load(F{kk}); % load into a structure
C(kk) = struct2cell(S); % !!! assumes only ONE field per structure !!!
end
T = [C{:}]; % optional but recommended: concatenate into one non-scalar structure
You can access the data in the non-scalar structure T using indexing and fieldnames:
For example, the MCOS data for the first file:
>> T(1).MCOS
ans =
3707764736
2
1
1
1
5
You do not appear to be running the complete code from my last comment.
Pease run the complete code that I gave, including the last line:
T = [C{:}];
T will then be a 1xN structure with two fields, it contains all of the data from all of your files.
Matpar
le 14 Avr 2020
Catégories
En savoir plus sur Deep Learning Toolbox 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!
