How to save and import gTruth objects

4 vues (au cours des 30 derniers jours)
Max Salter
Max Salter le 4 Déc 2022
Commenté : Max Salter le 4 Déc 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 commentaire
Walter Roberson
Walter Roberson le 4 Déc 2022
Please show us
class(Porcelain_gTruth)
whos -file Porcelain_gTruth.mat

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 4 Déc 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;
  1 commentaire
Max Salter
Max Salter le 4 Déc 2022
Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by