labelling image but getting error during overlay

5 visualizaciones (últimos 30 días)
Raza Ali
Raza Ali el 5 de Sept. de 2019
Respondida: Obaid Rafiq Jan el 18 de Nov. de 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 comentarios
Kritika Bansal
Kritika Bansal el 12 de Sept. de 2019
Hi,
Can you also post the command that led to this error in MATLAB?
Raza Ali
Raza Ali el 13 de Sept. de 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.

Iniciar sesión para comentar.

Respuestas (1)

Obaid Rafiq Jan
Obaid Rafiq Jan el 18 de Nov. de 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