labelling image but getting error during overlay

3 Ansichten (letzte 30 Tage)
Raza Ali
Raza Ali am 5 Sep. 2019
Beantwortet: Obaid Rafiq Jan am 18 Nov. 2020
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 Kommentare
Kritika Bansal
Kritika Bansal am 12 Sep. 2019
Hi,
Can you also post the command that led to this error in MATLAB?
Raza Ali
Raza Ali am 13 Sep. 2019
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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Obaid Rafiq Jan
Obaid Rafiq Jan am 18 Nov. 2020
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