Image contrast when using labeloverlay

1 visualización (últimos 30 días)
Matt K.
Matt K. el 7 de Mzo. de 2022
Comentada: DGM el 10 de Mzo. de 2022
Hi,
I have setup an image datastore and a pixel label datastore for some semantic image segmentation I'd like to do and I used some code in an example to show some overlays from some images within my image/pixel lists:
for i=81:85
im=readimage(imds,i);
C=readimage(pxds,i);
B=labeloverlay(im,C,'transparency',0.5);
figure,imshow(B);
end
However, when I do this, I find that the display range for the image is too wide:
Is there a way to change display range of the background image? It's an int16 image with a [min max] range of [0 4741]
Thanks for your help,
Matt

Respuesta aceptada

DGM
DGM el 7 de Mzo. de 2022
Editada: DGM el 7 de Mzo. de 2022
Try putting your images on a common scale.
im = mat2gray(im);
C = mat2gray(C);
This will put both images in the range [0 1].
  2 comentarios
Matt K.
Matt K. el 10 de Mzo. de 2022
Thanks! That did the trick.
I see that the image was rescaled to [0,1], but I'm not sure how this worked as C is a categorical matrix (?)
In any case, it now looks the way that it should look:
(a different slice than in the original question)
DGM
DGM el 10 de Mzo. de 2022
I ... really don't know what to say about the categorical array part. I almost never use categoricals for anything, and I never use datastore stuff so I'm not sure what to expect. At least it seems to be working.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Images en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by