2010-06-02 17 views
0

J'essaie de convertir un tableau 2D en niveaux de gris, mais utiliser mat2gray ne fait rien et imshow() apparaît pour créer une image binaire que lorsque je graphe, je ne peux pas le faire pivoter, par exemple. le tableau original est 2d mais les cartes en 3d. Alors, quelle est la meilleure façon de prendre une échelle de gris de 2d array dans Matlab, donc si vous avez A = rand (5,10) ou quelque chose et que vous voulez prendre une échelle de gris, quelle est la meilleure façon?Niveaux de gris dans matlab

+0

Quelle est la plage des valeurs du tableau 2D d'origine? Pourriez-vous en dire plus sur ce que vous entendez par «ne peux pas le faire pivoter»? –

Répondre

0

Je me attends MAT2GRAY à travailler, mais si cela ne vous pouvez essayer ceci:

A = rand(5,10);  %# Make a random array of values between 0 and 1 
B = uint8(255.*A); %# Scale the values and convert them to uint8 
0

Si vous utilisez imshow sur une image 2D, il est une bonne idée d'utiliser autoscaling.

img = randn(100); 
imshow(img,[]);