labelling image but getting error during overlay

1 次查看(过去 30 天)
I am labelling an image using MATLAB image labeler. But when i use labeloverlay commnad in MATLAB to map original and labeled image it gives error "Pixel label image has scalar pixel label IDs instead of RGB-triplet pixel label IDs". I can only understand that the labeled image is black and white and for overlaying command it needs RGB labeled image.
how to use these labeld images ? or how to resolve this error
  4 个评论
Kritika Bansal
Kritika Bansal 2019-9-12
Hi,
Can you also post the command that led to this error in MATLAB?
Raza Ali
Raza Ali 2019-9-13
imageDir= fullfile('img');
labelDir= fullfile('PL');
classNames = ["A", "B"];
labelIDs = [0 0 0; 1 1 1];
imds = imageDatastore(imageDir);
pxds = pixelLabelDatastore(labelDir,classNames,labelIDs);
I = read(imds);
C = read(pxds);
Error using matlab.io.datastore.PixelLabelDatastore.label2cat (line 1033)
Pixel label image has scalar pixel label IDs instead of RGB-triplet pixel label IDs.

请先登录,再进行评论。

回答(1 个)

Obaid Rafiq Jan
Obaid Rafiq Jan 2020-11-18
Hi Raza,
I was stuck on the same problem as you however, mine was the opposite. Instead you can try [0 1] which would make sense for a scalar quantity. The array that you defined for your pixel labels is an RGB triplet value which is what I should have done and it works for me. So if anyone else is having the same error as you, they just need to define each label's absolute scalar value as [x x] while if someone is having the opposite problem, they can try [x y z; x y z], where x y and z are the RGB absolute values.

Community Treasure Hunt

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

Start Hunting!

Translated by