How to save and import gTruth objects
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Max Salter
am 4 Dez. 2022
Kommentiert: Max Salter
am 4 Dez. 2022
This seems like a simple problem, but I am trying to save a labeled image as a gTruth object from the Image Labeler. I can export from the Image Labeler to the workspace as a gTruth, but I would like to be able to load it programatically rather than manually importing to the workspace each time. When I save the gTruth variable from my workspave and load it in later, it loads as a struct, which does not work with pixelLabelTrainingData. How do I save a gTruth and have it load back as a gTruth?
% Porcelain_gTruth exists as a gTruth in the workspace from Image Labeler
save('Porcelain_gTruth.mat','Porcelain_gTruth')
% Later on
gTruth = load('Porcelain_gTruth.mat','Porcelain_gTruth');
% Now gTruth is a struct
[imds, pxds] = pixelLabelTrainingData(gTruth);
% I will get an error along the lines of:
% Error using pixelLabelTrainingData>parseInputs
% The value of 'gTruth' is invalid. Expected input to be one of these types:
%
% groundTruth
%
% Instead its type was struct.
1 Kommentar
Akzeptierte Antwort
Walter Roberson
am 4 Dez. 2022
gTruth = load('Porcelain_gTruth.mat','Porcelain_gTruth');
That form of load() does not return just the variable you asked to load. That form of load() returns a struct with one field for each variable that is loaded. You need something like
data = load('Porcelain_gTruth.mat','Porcelain_gTruth');
gTruth = data.Porcelain_gTruth;
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!