loading multiple groundtruth .mat files
显示 更早的评论
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
回答(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 个评论
Matpar
2020-4-13
Matpar
2020-4-13
Matpar
2020-4-13
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
2020-4-14
类别
在 帮助中心 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
