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.

 Réponse acceptée

Image Analyst
Image Analyst le 12 Nov 2013

1 vote

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 commentaires

med-sweng
med-sweng le 12 Nov 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 le 12 Nov 2013
Modifié(e) : Image Analyst le 12 Nov 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 le 13 Nov 2013
Yes, you are absolutely right. Thanks a lot

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 12 Nov 2013
Modifié(e) : Azzi Abdelmalek le 12 Nov 2013

0 votes

Use rgb2gray function

1 commentaire

med-sweng
med-sweng le 12 Nov 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?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Fuzzy Logic Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by