how to convert matrix to graysclae image?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I have a matrix that i have extacted using spin images descriptor, it is of size 15x15 :
I want to display it in gray scale but it doesn't work. I tried to use imshow() like this :
imshow(uint8(spinImages(1,1).spinIm),'DisplayRange',[0 255])
imshow(255-uint8(spinImages(1,1).spinIm),'DisplayRange',[0 255])
and also i used imagesc :
imagesc(255-uint8(spinImages(1,1).spinIm), [0 255])
imagesc(1-uint8(spinImages(1,1).spinIm), [0 255])
imagesc(uint8(spinImages(1,1).spinIm), [0 255])
but worthless. pleaz could you help me.
6 commentaires
Adam
le 25 Mai 2016
Modifié(e) : Adam
le 25 Mai 2016
imagesc( spinImages(1,1).spinIm );
colormap( flipud(gray) );
will give you a white background and high values as black if that is what you want visually.
Obviously you can also inverse the data itself - it depends if you want the data inverted for other purposes than visualisation too.
Réponse acceptée
Guillaume
le 23 Mai 2016
Modifié(e) : Guillaume
le 23 Mai 2016
" but it doesn't work". In what way?
What you've showed will display the image, possibly not the way you want, but it will display it.
I'll note that the intensity range in your screenshot is up to 3906. Because of the call to uint8, any intensity above 255 will be set to 255. I'm not sure that's what you want.
There's certainly no reason to convert to uint8 if you're going to restrict the display range to [0 255] anyway.
Possibly, you meant:
imshow(spinImages(1,1).spinIm, [])
3 commentaires
Guillaume
le 25 Mai 2016
If you want to inverse the image:
imshow( max(spinImages(1, 1).spinIm(:)) - spinImages(1,1).spinIm, [])
would be better than the completely unnecessary conversion to uint8.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Convert Image Type dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!