The assigned pixel name is having error in semnatic segmentation "pixellabeldatastore".

4 views (last 30 days)
The code i am working upon:
pxDir = fullfile('C:\Users\Admin\Downloads\13521488\Mask');
classNames = ["Background","ground-glass" ];
pixelLabelID = [0 1]
pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);
Error displayed:
Error using pixelLabelDatastore>parseInputs (line 265)
The value of 'classNames' is invalid. 'ground-glass' is not a valid class name. Class names must be valid MATLAB variable
names. See ISVARNAME for more details.
Error in pixelLabelDatastore (line 211)
[location, classes, values,params] = parseInputs(varargin{:});
Note- Predefined labels are:
ground-glass (mask value =1), consolidation (=2) and pleural effusion (=3)

Accepted Answer

Image Analyst
Image Analyst on 8 Jun 2021
Evidently it doesn't like the minus sign. Try
classNames = ["Background","GroundGlass"]; % String vector
or
classNames = {'Background', 'GroundGlass'}; % Cell array
  1 Comment
Sakshi Ahuja
Sakshi Ahuja on 8 Jun 2021
Thanks for the help! This resolved my issue but when i am trying to display the label over input image i am not getting the desired output.
imDir = fullfile('C:\Users\Admin\Downloads\13521488\Train_png');
pxDir = fullfile('C:\Users\Admin\Downloads\13521488\Mask_png');
imds = imageDatastore(imDir);
classNames = ["Background","GroundGlass"];
pixelLabelID = [0 1]
pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);
I = readimage(imds,1);
C=readimage(pxds,1);
B = labeloverlay(I,C);
imshow(B)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!