Representing the result in grayscale

I'm working with this script. The issue is that the result is coloured and I want it in grayscale, but couldn't figure what to change in the script to do that. Do you know what changes I should perform to get the result as grayscale?
Thanks.

 Respuesta aceptada

Image Analyst
Image Analyst el 12 de Nov. de 2013

1 voto

L is the output of the classification. It's a monochrome image. Just use that and not Lrgb which he just created to make the classification regions colorful. So you already have what you want, which is the L array. There is nothing else you need to do.

3 comentarios

med-sweng
med-sweng el 12 de Nov. de 2013
Thanks for your nice answer. When I display "L", I get a black screen. Is there something I should add in order to obtain the required result?
Image Analyst
Image Analyst el 12 de Nov. de 2013
Editada: Image Analyst el 12 de Nov. de 2013
That's because it has values of only 0, 1, or 2 due to there being 3 classes. So it looks too dark to see when the max range is 255. To increase the contrast, use []:
imshow(L, []);
0 will stay 0, 1 will map to 128, and 2 will be 255.
med-sweng
med-sweng el 13 de Nov. de 2013
Yes, you are absolutely right. Thanks a lot

Iniciar sesión para comentar.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 12 de Nov. de 2013
Editada: Azzi Abdelmalek el 12 de Nov. de 2013

0 votos

Use rgb2gray function

1 comentario

med-sweng
med-sweng el 12 de Nov. de 2013
Thanks for your reply. When I got the result, I made a "cut" of the result and used rgb2gray for converting the image to grayscale. But, somehow I felt that the result is not as expected. So, thought if this could be made within the script mentioned?

Iniciar sesión para comentar.

Preguntada:

el 12 de Nov. de 2013

Comentada:

el 13 de Nov. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by